feat(specgen): encode committed API locks #251

Closed
opened 2026-07-23 22:54:44 +00:00 by coilyco-ops · 2 comments
Member

Problem

Specgen commits pruned API locks as plain JSON. The files are generated machine contracts, but their .lock.json representation looks hand-authored and invites manual edits. Large API surfaces also consume unnecessary repository space.

Change

  • Write new per-member API locks as deterministic gzip with a .lock.json.gz suffix.
  • Decode locks before reference generation, skew comparison, cache hashing, materialization, and embedding so the logical contract remains JSON.
  • Continue reading legacy plain .lock.json files so existing consumers build without an atomic fleet migration.
  • Keep specverb.lock human-readable because it is the dependency graph and remains useful in review.
  • Document the generated/encoded boundary and migration behavior.

Acceptance

  • Repeated encoding of identical pruned JSON is byte-stable.
  • New locks carry gzip framing and round-trip to the exact pruned JSON.
  • Build, skew, generated references, and materialization accept encoded locks.
  • Legacy plain locks remain readable.
  • Tests cover round-trip, deterministic output, invalid encoding, naming, and legacy fallback.
  • Repository validation passes.

Downstream consumer: coilyco-flight-deck/agentic-os#661

## Problem Specgen commits pruned API locks as plain JSON. The files are generated machine contracts, but their `.lock.json` representation looks hand-authored and invites manual edits. Large API surfaces also consume unnecessary repository space. ## Change * Write new per-member API locks as deterministic gzip with a `.lock.json.gz` suffix. * Decode locks before reference generation, skew comparison, cache hashing, materialization, and embedding so the logical contract remains JSON. * Continue reading legacy plain `.lock.json` files so existing consumers build without an atomic fleet migration. * Keep `specverb.lock` human-readable because it is the dependency graph and remains useful in review. * Document the generated/encoded boundary and migration behavior. ## Acceptance * Repeated encoding of identical pruned JSON is byte-stable. * New locks carry gzip framing and round-trip to the exact pruned JSON. * Build, skew, generated references, and materialization accept encoded locks. * Legacy plain locks remain readable. * Tests cover round-trip, deterministic output, invalid encoding, naming, and legacy fallback. * Repository validation passes. Downstream consumer: https://forgejo.coilysiren.me/coilyco-flight-deck/agentic-os/pulls/661
Author
Member

WARD-WORKFLOW: blocked 🛑

details

manual close/update snapshot at 2026-07-23T23:03:05Z has no newer ward acknowledgement yet

This action is blocked until the feedback is visibly acknowledged.

— Codex, via ward agent

WARD-WORKFLOW: blocked 🛑 <details><summary>details</summary> manual close/update snapshot at 2026-07-23T23:03:05Z has no newer ward acknowledgement yet This action is blocked until the feedback is visibly acknowledged. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-WORKFLOW: coilyco-flight-deck/cli-guard#253

workflow: pull-request-and-merge
review verdict: pass
review confidence: high
director merge authorization: reviewed-and-ready

The agent reviewed the encoded-lock implementation and Kai explicitly authorized the merge and downstream AOS rollout. Local tests, build, vet, lint, pre-commit, and Forgejo CI all pass.

WARD-WORKFLOW: https://forgejo.coilysiren.me/coilyco-flight-deck/cli-guard/pulls/253 workflow: pull-request-and-merge review verdict: pass review confidence: high director merge authorization: reviewed-and-ready The agent reviewed the encoded-lock implementation and Kai explicitly authorized the merge and downstream AOS rollout. Local tests, build, vet, lint, pre-commit, and Forgejo CI all pass.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/umbra#251
No description provided.