Define the estate toolchain lock interface and consumer contract #123

Open
opened 2026-09-07 06:11:29 +00:00 by larandar · 0 comments
Owner

Proposal

Own sections 1 and 5 of #116: make Jostoph’s flake.lock the policy root for estate-owned tools and define the exact package/interface consumed through nix/ting.

Design

Add and lock OpenSpec as a Jostoph flake input; expose the exact package and stable interface. Ordinary consumers declare Jostoph plus genuinely repository-specific inputs. Any required direct shared handle follows Jostoph where supported. Repository devenv.lock files remain reproducibility receipts. Preserve the existing canonical import and provenance seam.

Tasks and acceptance

  • Verify the existing graph before changing it, then pin OpenSpec at the authoritative flake root and expose its package.
  • Publish one short, validated ordinary-consumer recipe and explicit exceptions, including how the original flake:false import consumes the flake-owned package.
  • Record which existing tools belong in this lock now and which remain later scope; do not silently move repository-specific dependencies.
  • Given a shared OpenSpec revision change, when the authority is updated, then one reviewed Jostoph lock change selects the revision for consumers.
  • Given an ordinary consumer, when the documented recipe is evaluated, then it resolves the stable interface without independent shared-tool policy.

Boundary

Propagation/conformance implementation, the real Ting consumer migration, estate rollout, and update/rollback ceremony have separate owners. No shared physical devenv.lock and no silent shell-entry lock rewrite.

Provenance and delivery state

Larandar approved the split in estate-backlog-rationalization.md on 2026-09-07. Scope source: Ting/Jostoph#116. Contradiction ledger: Ting/Ting#28. Direct parent Epic: Ting/Jostoph#116. No optional Meta/Session wrapper is declared.

The current normative store is Ting/contracts. The exact applicable change, immutable commit, and selected requirement/scenario binding remain to be verified and recorded; this issue remains Status/Need Grooming and is not newly marked Ready. This tracker split is not implementation or deployment evidence.

## Proposal Own sections 1 and 5 of #116: make Jostoph’s flake.lock the policy root for estate-owned tools and define the exact package/interface consumed through nix/ting. ## Design Add and lock OpenSpec as a Jostoph flake input; expose the exact package and stable interface. Ordinary consumers declare Jostoph plus genuinely repository-specific inputs. Any required direct shared handle follows Jostoph where supported. Repository devenv.lock files remain reproducibility receipts. Preserve the existing canonical import and provenance seam. ## Tasks and acceptance - [ ] Verify the existing graph before changing it, then pin OpenSpec at the authoritative flake root and expose its package. - [ ] Publish one short, validated ordinary-consumer recipe and explicit exceptions, including how the original flake:false import consumes the flake-owned package. - [ ] Record which existing tools belong in this lock now and which remain later scope; do not silently move repository-specific dependencies. - [ ] Given a shared OpenSpec revision change, when the authority is updated, then one reviewed Jostoph lock change selects the revision for consumers. - [ ] Given an ordinary consumer, when the documented recipe is evaluated, then it resolves the stable interface without independent shared-tool policy. ## Boundary Propagation/conformance implementation, the real Ting consumer migration, estate rollout, and update/rollback ceremony have separate owners. No shared physical devenv.lock and no silent shell-entry lock rewrite. ## Provenance and delivery state Larandar approved the split in estate-backlog-rationalization.md on 2026-09-07. Scope source: [Ting/Jostoph#116](https://jo.et0.pw/Ting/Jostoph/issues/116). Contradiction ledger: [Ting/Ting#28](https://jo.et0.pw/Ting/Ting/issues/28). Direct parent Epic: [Ting/Jostoph#116](https://jo.et0.pw/Ting/Jostoph/issues/116). No optional Meta/Session wrapper is declared. The current normative store is Ting/contracts. The exact applicable change, immutable commit, and selected requirement/scenario binding remain to be verified and recorded; this issue remains Status/Need Grooming and is not newly marked Ready. This tracker split is not implementation or deployment evidence.
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
Ting/Jostoph#123
No description provided.