Extends the already-shipped build-time-versioning feature so --version output can distinguish different uncommitted-change states via a short content-based fingerprint, instead of just a boolean -dirty flag. Empirically confirmed during design (live probe against src/flake.nix, reverted) that Nix's self.narHash is reachable at eval-time and content- sensitive, resolving the spec's one open technical question for the production build path without requiring git inside the sandbox. Caught and corrected a design flaw before finalizing: an earlier approach would have retired commit_id's -dirty suffix at its computation site, which traces through to silently break the startup log's existing modified-tree signal (same underlying value). Resolved by leaving commit_id completely untouched everywhere and doing the -dirty-stripping only inside --version's composition, only when a fingerprint is available -- which also satisfies Requirement 5.2's fallback for free. Independent task-graph sanity review (kiro-spec-tasks Step 3.5) returned NEEDS_FIXES on 3 minor items; all fixed and self-verified before approval. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
22 lines
455 B
JSON
22 lines
455 B
JSON
{
|
|
"feature_name": "dirty-content-fingerprint",
|
|
"created_at": "2026-08-21T02:44:43Z",
|
|
"updated_at": "2026-08-21T03:40:00Z",
|
|
"language": "en",
|
|
"phase": "tasks-generated",
|
|
"approvals": {
|
|
"requirements": {
|
|
"generated": true,
|
|
"approved": true
|
|
},
|
|
"design": {
|
|
"generated": true,
|
|
"approved": true
|
|
},
|
|
"tasks": {
|
|
"generated": true,
|
|
"approved": true
|
|
}
|
|
},
|
|
"ready_for_implementation": true
|
|
}
|