diff --git a/.governance/manifest.json b/.governance/manifest.json index a6d2ab2..a52c185 100644 --- a/.governance/manifest.json +++ b/.governance/manifest.json @@ -75,6 +75,7 @@ ".env.example", ".gitignore", "project.sh", + "project2.sh", "project.bat", "project/governance-check.*", "project/new-ticket.sh", diff --git a/project/ticket-101/README.md b/project/ticket-101/README.md new file mode 100644 index 0000000..b3ae9c4 --- /dev/null +++ b/project/ticket-101/README.md @@ -0,0 +1,37 @@ +# Ticket 101: Exclude local worktrees from project analysis tools + +- **ID**: ticket-101 +- **Owner**: unresolved:human +- **Status**: IN_PROGRESS +- **Workflow state**: PUBLICATION +- **Created**: 2026-09-10 + +## Goal and scope + +SESSION_EXECUTION_AUTHORIZATION: the user's 2026-09-10 request to continue, +push, merge through independent validation, and test covers this delivery. +It does not supply trusted approval or authorize a production deployment. + +Carry the exact project2.sh change from PR #117 (source commit +43ffff549f92a5fffe03dde68144578c61aabb43) onto current protected main: +pass the literal .worktrees/** exclusion to prefact alongside examples/**. +Assign project2.sh to the existing governance workstream in the extendable +target manifest. Do not alter protected gates or managed hashes. + +Preserve the original PR branch and commit. Its historical checkout is clean +and now detached at protected main; effective systemd runtime is a different +deployment checkout and remains unchanged. Do not publish raw generated +reports or change the concurrent watcher work in ticket-100. + +## Acceptance criteria + +- [ ] AC-01: project2.sh is byte-identical to PR #117's version and retains the + quoted prefact exclusion without executing the heavy generation pipeline. +- [ ] AC-02: Shell syntax, focused argument checking, full offline verification + and smoke pass; required hosted checks and independent exact-head approval + remain mandatory for protected merge. + +## Tracking boundary + +This directory contains the minimal reviewed intent. Optional participant prose +and raw command logs are not required delivery output. diff --git a/project/ticket-101/intent.json b/project/ticket-101/intent.json new file mode 100644 index 0000000..48f2ac1 --- /dev/null +++ b/project/ticket-101/intent.json @@ -0,0 +1,38 @@ +{ + "schema": "new-project.intent/v3", + "ticket": "ticket-101", + "summary": "Exclude local worktrees from project analysis tools", + "workstream": "governance", + "classification": { + "kind": "BUG", + "priority": "P2", + "origin": "requested" + }, + "allowedPaths": ["project/ticket-101/**", "project2.sh", ".governance/manifest.json"], + "forbiddenPaths": ["project/ticket-*/user-*.md"], + "stacks": ["node", "docker"], + "dependsOn": [], + "conflictsWith": [], + "integrationTicket": null, + "delivery": { + "acceptedBaseSha": "c1d6e1d41a3ee41219ca68872f32f67b1b8f8df1", + "targetBranch": "main", + "outcome": "Publish PR117's exact prefact worktree exclusion on current governed main.", + "nonGoals": ["No runtime deployment", "No change to other analysis tools", "No generated report publication or branch deletion"], + "complexity": "S", + "estimatedMinutes": 20, + "budgets": {"maxImplementationFiles": 2, "maxAffectedComponents": 1, "maxPublicInterfaceChanges": 0, "maxRuntimeDependencies": 0}, + "architecture": { + "status": "accepted", + "decision": "Keep the existing script and preserve PR117's exact quoted exclusion; declare target script ownership in the extendable manifest.", + "components": [{"name": "project-analysis", "paths": ["project2.sh", ".governance/manifest.json"]}], + "responsibilityChanges": false, + "interfaceChanges": [], + "dataChanges": [], + "ui": {"impact": "none", "states": [], "evidence": []}, + "rollback": "Revert the material exclusion and its ownership addition through protected review." + }, + "runtimeDependencies": [], + "validation": [{"criterion": "AC-01", "commands": ["bash -n project2.sh", "git diff --exit-code 43ffff549f92a5fffe03dde68144578c61aabb43 -- project2.sh"], "evidence": "Exact source-byte equivalence and shell syntax"}, {"criterion": "AC-02", "commands": ["npm run verify", "make smoke docker-smoke", "bash project/governance-check.sh --actor agent"], "evidence": "External local validation logs and independent exact-head CI/Validator receipts"}] + } +} diff --git a/project2.sh b/project2.sh index 2ef9d6d..5f37de2 100755 --- a/project2.sh +++ b/project2.sh @@ -42,7 +42,7 @@ $VENV/bin/redup scan . --format toon --output ./project #$VENV/bin/vallm batch ./src --recursive --semantic --model qwen2.5-coder:7b #$VENV/bin/vallm batch --parallel . #$VENV/bin/vallm batch . --recursive --format toon --output ./project -$VENV/bin/prefact -a -e "examples/**" +$VENV/bin/prefact -a -e "examples/**" -e ".worktrees/**" $PIP install doql --upgrade --quiet $VENV/bin/doql adopt . --format less --output app.doql.less --force