chore: sync SpecLedger templates to constitution v2.1.0#2
Open
so0k wants to merge 1 commit into
Open
Conversation
Re-align the plan/spec/tasks templates with the nine-principle constitution (v2.1.0); they still reflected the old five-principle structure. plan-template.md - Constitution Check gate rewritten to all nine principles: renumber Agent-First CLI Design (III→IV) and Code Quality (IV→V); add the new III. Ground-Truth Anchoring and IX. Skill–CLI Co-Evolution gates; fold output-shape assertions into II; split V into VI–VIII (Simplicity). - Testing line cites output-shape assertions + ground-truth fixtures/tiers. - Source Code layout replaced with skillrig's Go structure (cmd/skillrig, internal/skillcore|config|lock|index|client, testdata/cassettes) instead of the Python-flavored src/models/services placeholder (Constitution V). spec-template.md - Acceptance scenarios get output-shape guidance so they seed shape-asserting tests, not content-only checks (Constitution II). tasks-template.md - Foundational ground-truth fixture task (Constitution III). - Output-shape assertions noted in every US test section. - Polish tasks for pattern-gate classification (IV) and skill co-evolution trigger evals (IX); design-doc sync note. - Implementation tasks use Go paths (internal/, cmd/skillrig) not .py. - Definition of Done extended to shape assertions, ground-truth fixtures, pattern classification, and skill coverage. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
so0k
added a commit
that referenced
this pull request
May 26, 2026
… gaps Resolve the post-implementation checkpoint findings on the origin resolver so a future --verbose caller can never mistake a silent skip for intended behavior. - config.MalformedError: typed, unwrappable. Load returns it for parse failures and a plain wrapped error for genuine I/O failures, so callers distinguish a skippable malformed file from a fatal read error (FR-004 / contract resolve.md). - ResolveOrigin: add ResolutionResult.Diagnostics ([]SourceDiagnostic). New originFromFile classifies each source into four honest outcomes — usable / skippable-with-diagnostic (malformed or invalid origin) / quiet fall-through (absent or origin-less) / fatal I/O — replacing usableOrigin which collapsed everything (including I/O errors) to (zero, false). Diagnostics accumulate regardless of the final Source. - Tests: malformed-project, invalid-shape, origin-less, unreadable-fatal, unreadable-project-fatal-despite-global (A3), and malformed-SKILLRIG_ORIGIN hard-error (A1); TestLoadMalformedErrors asserts errors.As(*MalformedError). - Remove dead Origin.IsZero() (A4 — no callers). - Reconcile research.md D9 to the shipped 0o600/0o750 perms (self-review #2). - contracts/resolve.md + data-model.md document Diagnostics and the malformed-vs-fatal split, with a "never re-introduce a silent skip" note. Gate green: go test ./... · gofmt · go vet · golangci-lint (0 issues). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
so0k
added a commit
that referenced
this pull request
May 26, 2026
…igin String, scope todo rule Resolve the three real bugs from the Qodo PR review (#2/#3/#4); #1 dismissed as a false positive with an AGENTS.md clarification. - #2 FindProjectConfig now returns (string, bool, error): a non-fs.ErrNotExist stat failure (e.g. permission denied on an ancestor .skillrig dir) is surfaced as fatal instead of masked as "not found"; ResolveOrigin fails fast. Closes the discovery-stage gap symmetric to Load's I/O-fatal path. - #3 Origin.String() returns "" for the zero Origin (the SourceNone sentinel) instead of a misleading "/"; precedence test compares directly. - #4 gitRoot returns (string, error); ProjectWriteTarget falls back to cwd ONLY for expected cases (git absent / not a repo) and propagates unexpected errors (context cancellation/timeout, exec failures), so init never writes config to the wrong directory. - #1 (markdown checkbox rule violation): false positive — the cited checkboxes are /specledger in-document spec/plan checklists, not work tracking. AGENTS.md reworded to scope the rule to work-item tracking and explicitly allow them. Tests (TDD, real fixtures): zero-origin String, permission-denied walk-up fatal, cancelled-ctx write-target fatal, non-repo cwd fallback preserved. Gate green: go test ./... · gofmt · go vet · golangci-lint (0 issues). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The constitution was amended to v2.1.0 (nine principles): added III. Ground-Truth Anchoring and IX. Skill–CLI Co-Evolution, folded output-shape assertions into II, and split the old Simplicity/YAGNI principle into VI–VIII. The
.specledger/templates/still reflected the old five-principle structure, so theConstitution Checkgate and task scaffolding were stale and partly Python-flavored.Changes
plan-template.mdConstitution Checkrewritten to all nine principles — renumber Agent-First CLI Design (III→IV) and Code Quality (IV→V); add III. Ground-Truth Anchoring and IX. Skill–CLI Co-Evolution; output-shape assertions in II; split V → VI–VIII.cmd/skillrig,internal/skillcore|config|lock|index|client,testdata/cassettes) instead of thesrc/models/servicesPython placeholder (Constitution V).spec-template.mdstrings.Containschecks (Constitution II).tasks-template.mdinternal/,cmd/skillrig), not.py.Deferred (not in this PR)
checklist-template.mdfiles (.specledger/templates/generic vsdocs/design/pattern-gate). Renaming the design-doc one (+ updating constitution/cli.md references) was flagged optional; left as a follow-up to avoid touching files already onmain.🤖 Generated with Claude Code