Skip to content

Releases: selfradiance/contextgate

v0.2.0 — Compression Audit

17 May 20:50

Choose a tag to compare

ContextGate v0.2.0 — Compression Audit

ContextGate v0.2.0 adds a second narrow context-admission proof:

A harness can deterministically check whether required constraints survived compression before admitting the compressed summary into parent context.

What this release proves

Compressed context should not be blindly admitted into parent context.

ContextGate v0.2.0 checks an original context fixture for required constraint ids, then checks whether a compressed summary explicitly preserved those constraint ids.

If all required constraints survived compression, the compressed summary is admitted.

If any required constraint was dropped, the compressed summary is denied and a rejected audit artifact can be written.

Core behavior

The Compression Audit accepts:

  • an original context JSON file
  • a compressed summary JSON file
  • an output path for the admitted compressed context packet
  • an optional rejected output path

The deterministic rule is simple:

Every required constraint id from the original context must appear in preserved_constraint_ids in the compressed summary.

Demo commands

Run the original v0.1 proof:

npm run gate -- --report examples/subagent-report.json --evidence examples/evidence.json --out .contextgate/context-packet.json --quarantine-out .contextgate/quarantine.json

v0.1.0 — Unsupported Claim Admission Gate

16 May 18:13

Choose a tag to compare

ContextGate v0.1.0 — Unsupported Claim Admission Gate

ContextGate v0.1.0 is the first narrow proof in a new harness-governance arc.

It proves one small thing:

A local deterministic gate can check subagent claims against explicit evidence fixtures before admitting those claims into a parent context packet.

What this release proves

ContextGate v0.1.0 shows that a parent agent does not have to blindly accept a subagent summary.

Given:

  • a subagent report JSON file
  • an evidence fixture JSON file

ContextGate deterministically separates claims into:

  • admitted claims
  • quarantined claims

The admitted parent context packet contains only supported claims.

Unsupported claim text is excluded from the parent context packet.

Core proof behavior

The demo fixture includes one supported claim and one unsupported claim.

Expected behavior:

  • claim-1 is admitted
  • claim-2 is quarantined
  • the quarantine reason is NO_SUPPORTING_SOURCE
  • the admitted parent context packet excludes the unsupported VIP claim
  • the optional quarantine artifact contains the blocked claim and reason

How to run the proof

npm install

npm test
npm run typecheck
npm run build

npm run gate -- --report examples/subagent-report.json --evidence examples/evidence.json --out .contextgate/context-packet.json --quarantine-out .contextgate/quarantine.json