Replies: 19 comments 30 replies
Thread 1 — Product boundary and authority modelStatus: canonical topic thread for what Spec owns and what is outside the MVP boundary. Current accepted direction
Product-model invariantThe primary conceptual chain is: These layers do not replace one another. Existing implementation behavior is evidence, not normative truth. Existing-project / reverse-spec boundaryReverse engineering adds an evidence/discovery concern before reconciliation. Observed or inferred behavior must never automatically become normative specification. A tracked/reviewable evidence representation remains desirable for existing-project reconstruction, but its exact MVP storage shape is still open and must remain separate from normative Artifact authority. Deferred beyond MVPEarlier discussion about target-scoped authority, realized-vs-future specification lines, target identity, and Git integration boundaries is preserved in Threads 2 and 3 as future-design input. It is no longer a prerequisite for the first useful Spec Tool release. Use replies here for product-boundary questions and changes to what belongs inside/outside Spec Core. |
Thread 2 — Targets, versions, and Git topologyStatus: deferred beyond MVP. This thread preserves accepted future-design work; it does not constrain the current single-workspace MVP. Current accepted MVP boundary
Preserved future-design decisionsIf/when concurrent future targets are reintroduced, the earlier accepted direction remains useful input:
These are future constraints, not fields or runtime behavior to build into the MVP now. Revisit triggerReopen this topic only when a real use case requires concurrently accepted future specification states or maintenance lines. Until then, do not add target/version abstractions merely for extensibility. |
Thread 3 — Authoritative mutation policy and integration boundariesStatus: deferred beyond MVP except for ordinary Artifact lifecycle invariants. Current accepted MVP boundary
Preserved future-design inputThe earlier authority work remains relevant if stronger publication guarantees become necessary later:
None of that should introduce fields or validation requirements into the MVP before a concrete use case requires them. Use replies here when/if publication authorization, Git-host enforcement, or multi-line authority becomes an active product requirement again. |
Thread 4 — Specification model, artifacts, lifecycle, and provenanceStatus: canonical topic thread for the persisted Spec MVP data model. Current accepted directionThe MVP principle is:
The copied EF implementation is reusable mechanism, not a frozen ontology. Canonical content modelThe main specification chain is first-class through the contract layer: Accepted first-class Artifact kinds for MVP:
Identity and layout
Common Artifact envelopeEvery stored Artifact uses the standard structural fields: schema: ...
kind: ...
id: ...
title: ...
status: ...
relations: []
resources: []
Required body structureAll kinds allow additional custom sections after their required semantic core.
Draft Artifacts may omit required sections or contain placeholders. Active Artifacts must contain complete required sections and no placeholder-only content. LifecycleStatuses: Knowledge/specification Artifacts ( PROJECT is always active. CHG uses:
Physical deletion is allowed only for draft Artifacts. Active content must leave current truth through lifecycle operations; terminal Artifacts are retained. Lifecycle is strictly specification authority/currentness. RelationsRelations are stored on the source Artifact frontmatter. The vertical chain uses one relation semantic: with adjacent-layer compatibility only:
MVP also retains explicit horizontal relation concepts: Accepted compatibility rules for MVP:
Canonical replacement relation is ResourcesResources are Artifact-owned descriptors, not first-class Artifacts and do not have an independent lifecycle. Minimal descriptor: This is intended to cover machine-readable contracts, schema files, examples, diagrams, benchmarks, evidence, references, and similar supporting material without introducing a second Artifact ontology. Resource
CHG simplificationCHG remains, but only as a lightweight specification change/provenance record. It no longer owns EF's old exactly-once effect coverage, integration-boundary transaction semantics, or implementation-repository coupling in the MVP. Required body sections remain: Validation boundaryMVP
It does not pretend to determine natural-language semantic correctness. Human/Agent review remains responsible for whether a Story, Use Case, Feature semantics, Contract, ADR, or POL is substantively correct. Existing-project / reverse-spec requirementObserved behavior remains evidence, not normative truth. Existing-project reconstruction needs a tracked/reviewable way to retain discovered/inferred evidence without promoting it automatically into active specification. The exact representation remains open, but it must stay separate from lifecycle authority and must not turn accidental legacy behavior into Use replies here for persisted schemas, Artifact vocabulary, lifecycle, relations, Resources, reverse-spec evidence, validation, and provenance. |
Thread 5 — Planning, decisions, review, and consensusStatus: canonical topic thread for the human/agent process that produces an accepted specification change. Current accepted directionThe normal high-level flow is: Planning is not permanently frozen once implementation starts. Material discoveries can return the affected specification to discussion/review and produce another ordinary specification change. What is no longer assumedThe inherited EF design developed a large first-class model around The underlying needs remain relevant—recording decisions, review context, unresolved concerns, evidence, and acceptance—but we should re-derive the smallest model from specification maintenance rather than preserve an EF workflow engine. Open design questions
Use replies here for PLAN/decision/review/approval concepts. Historical EF PLAN design is archived below this thread as replies for reference, not as presumed current truth. |
Thread 6 — Implementation linkage, stale detection, and reconciliationStatus: implementation linkage is deferred / out of MVP scope. Current accepted directionThe conceptual model still includes Implementation as the fifth layer: However, the persisted Spec authority boundary stops at the normative Contract.
Future revisit ruleImplementation linkage should be reconsidered only when the linkage can be backed by verifiable or derived evidence, for example tests, explicit code annotations, generated manifests, CI-produced mappings, or another mechanism that can detect drift mechanically. If such a feature is added later, derived linkage/evidence should remain distinct from canonical specification authority rather than turning code into a second normative source. Out of MVP
Use replies here only when a concrete, mechanically verifiable implementation-linkage use case is ready to justify re-opening the design. |
Thread 7 — Agent UX, CLI, Git-host collaboration, and provider adaptersStatus: canonical topic thread for the Agent-facing operating surface around the Spec MVP. Current accepted direction
Accepted MVP command shapeThe intended operation families are approximately: Exact flags/result schemas still need implementation-level design, but the boundary is accepted. Update boundary
Lifecycle, graph, and Resource mutations use invariant-aware dedicated operations. Query baselineThe MVP must support Agent-friendly deterministic discovery for at least:
Agents should not need to scan every Markdown file simply to discover relevant context. Validation UX
Provider boundaryProvider Discussions/Issues/PRs may be excellent Human collaboration surfaces, but provider metadata is not automatically specification truth. In this repository, GitHub Discussion #65 is intentionally the canonical product-design discussion, which is a repository-governance choice rather than a generic runtime requirement of Spec Tool. Use replies here for CLI/Agent ergonomics, stable JSON contracts, query composition, provider adapters, and optional higher-level collaboration surfaces. |
Thread 8 — EF compatibility, migration, and deprecationStatus: canonical topic thread for the transition from Current accepted direction
Accepted MVP implementation strategyThe current implementation is being replaced on a dedicated rewrite branch rather than incrementally preserving two domain/storage modes inside the package.
Deferred / separate concerns
Use replies here for package/versioning compatibility, future migration tooling, EF deprecation, and release transition decisions. |
Accepted MVP decision — CHG completion command and chained supersessionAccepted on 2026-09-16 as a clarification of the canonical MVP lifecycle/replacement model. CHG completion CLICHG keeps its accepted lifecycle: The public CLI command is explicit:
Chained supersession
If A currently supersedes O, and B later supersedes A, B takes over A's current replacement targets. The resulting current graph is: and More generally, when replacement R supersedes current Artifact X, R inherits X's outgoing
This is MVP canonical behavior and should be reflected in the #69 mutation slice and command surface. |
PR #72 x-review hardening — accepted implementation contractThis records implementation-level behavior clarified while reviewing the accepted Spec MVP. It does not add a new product layer.
These choices keep the MVP deterministic for Agents without reintroducing EF transaction/history semantics. |
PR #72 x-review round 2 — adjudicated hardeningSecond-round review against the full
One reviewer candidate is clarified rather than treated as a defect: Regression coverage now includes stale-lock recovery with a concurrent second writer, |
PR #72 x-review round 3 — lock protocol correctionRound 3 confirmed that the round-2 shared-path stale-lock reclaim algorithm still admitted a TOCTOU interleaving between two ordinary reclaimers. That implementation detail is superseded. Canonical implementation contract for MVP mutation serialization is now:
This replaces the previous shared The separate reviewer candidate about a symlink appearing between |
PR #72 x-review round 4 — final adjudicationRound 4 reviewed only the final unique-claim correction (
Final evidence at head
This closes the PR #72 x-review loop for the accepted MVP contract. |
Thread 8 follow-up — EF removal and first Spec releaseWith PR #72 merged, the transition direction is now:
This supersedes the earlier deferred state for EF deprecation/archive and first Spec release numbering. |
Thread 8 follow-up — bootstrap 0.0.1 tag semanticsOne release-operational clarification is required for the manual first publish:
This refines the earlier first-release bootstrap decision without changing the package version ( |
Thread 8 follow-up — bootstrap tag safetyThe accepted
This tightens the operational contract already recorded for the bootstrap and prevents the generic release path from contradicting it. |
Thread 8 follow-up — bootstrap artifact integrityThe manual
The packed-consumer CI also keeps a direct npm-bin probe with a spaced argument so the published user-facing bin shim is exercised on the Windows matrix, while multiline/body-heavy smoke cases may invoke the installed JS entry directly to avoid shell re-parsing. |
|
Spec Tool bootstrap release completed.
Bootstrap is therefore complete. The next release should resume the normal tag-driven Trusted Publishing flow after the npm Trusted Publisher is configured. |
|
Trusted Publisher bootstrap status update (2026-09-16):
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Spec canonical design discussion
This Discussion is the highest-authority canonical design record for Spec /
@deviltea/spec-tool/spec.It replaces standalone chronological planning documents with topic-oriented discussion threads. Design exploration, alternatives, corrections, and accepted decisions belong here so there is one durable continuation point.
Authority and decision protocol
docs/ef-core/, issue feat(spec-tool): fork EF into Spec and redefine the product around specification maintenance #63, issue feat(ef): model planning consensus, backlog, staleness, and implementation gates #11, or other historical material, Discussion spec-tool: canonical design discussion #65 wins.packages/spec-tool/docs/ef-core/is retained as inherited EF implementation/history reference while the Spec-native model is implemented. It is not the canonical Spec product model.packages/spec-tool/docs/planning/. New design work must be recorded in this Discussion instead of creating a competing planning authority.Current high-level product baseline
Product / concept: Spec
npm package:
@deviltea/spec-toolCLI:
specSpec is a Git-native engineering specification maintenance tool designed first for Agent use.
The MVP intentionally optimizes for a single canonical workspace with reliable CRUD, query, lifecycle operations, Resource handling, and deterministic structural/reference validation.
MVP simplicity applies to workflow and authority mechanics, not to specification expressiveness.
The core specification chain is:
PROJECT and PRD provide higher-level project/product context; ADR, POL, CHG, and Artifact-owned Resources remain supported specification/provenance concepts.
Implementation remains conceptually the fifth layer but is not a persisted Spec Artifact and has no manual implementation-linkage record in the MVP. Manual linkage is deferred because it readily drifts.
Every persisted Artifact uses a collision-resistant UUIDv7 stable identity independent from title, kind, and path.
The Spec-native workspace root is
.spec/with canonical kind-based directories and a minimal tracked config. The current shipped implementation may still use inherited.engineering/paths until migrated.MVP lifecycle keeps
draft / active / superseded / retired; CHG additionally usescompleted. Lifecycle describes specification authority/currentness, not implementation progress or verification status.Deterministic validation covers schema/structure, identity uniqueness, relation/reference integrity, lifecycle invariants, Resource integrity, and other machine-checkable constraints. Natural-language semantic adequacy remains a Human/Agent review responsibility.
Human-readable CLI output and stable JSON output are both formal interfaces; the CLI follows
spec <noun> <verb>and is primarily an Agent tool protocol.Multi-target/version topology, target freshness, realized-vs-future authority lines, stale implementation gates, and Git integration-policy machinery are deferred beyond the MVP. Earlier accepted exploration is preserved in the relevant threads as future-design input but must not constrain the MVP data model.
Canonical topic threads
Historical archive
The original EF canonical body and discussion remain readable in issue #11. Its migrated design checkpoints remain preserved as historical replies in this Discussion. Issue #63 remains the historical Spec product-reset record.
History is preserved, but current Spec design authority lives here and is organized by topic rather than chronology.
All reactions