Skip to content

Commit c1cd854

Browse files
joborduclaude
andcommitted
Merge origin/main into feature/issue-64-auto-default-milestone
Resolve conflicts in STATE.md (keep all quick task entries from both sides) and requirements.json (recompute content hash for merged set). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2 parents 48e8c56 + 6c0f449 commit c1cd854

115 files changed

Lines changed: 9170 additions & 7616 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/pull_request_template.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
- [ ] Updates CHANGELOG.md for user-facing changes
1919
- [ ] No unnecessary dependencies added
2020
- [ ] Works on Windows (backslash paths tested)
21+
- [ ] Relevant agent-skill workflow considered (`task-intake`, `idea-refine`, `code-review-and-quality`, `security-and-hardening`, `shipping-and-launch`)
2122

2223
## Breaking Changes
2324

.github/workflows/secret-scan.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,15 @@ jobs:
3636
fetch-depth: 0
3737

3838
- name: Install gitleaks
39+
env:
40+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3941
run: |
40-
GITLEAKS_VERSION=$(curl -s https://api.github.com/repos/gitleaks/gitleaks/releases/latest | grep '"tag_name"' | sed 's/.*"v\(.*\)".*/\1/')
42+
GITLEAKS_VERSION=$(curl -sH "Authorization: Bearer $GH_TOKEN" https://api.github.com/repos/gitleaks/gitleaks/releases/latest | grep '"tag_name"' | sed 's/.*"v\(.*\)".*/\1/')
43+
if [ -z "$GITLEAKS_VERSION" ]; then
44+
echo "::error::Failed to fetch latest gitleaks version from GitHub API"
45+
exit 1
46+
fi
47+
echo "Installing gitleaks v${GITLEAKS_VERSION}"
4148
curl -sSfL "https://github.com/gitleaks/gitleaks/releases/download/v${GITLEAKS_VERSION}/gitleaks_${GITLEAKS_VERSION}_linux_x64.tar.gz" | tar xz
4249
chmod +x gitleaks
4350

.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,15 @@ states/
9898
.planning/formal/coverage-gaps.md
9999
.planning/formal/assumption-gaps.md
100100

101+
# Formal verification run artifacts (regenerated every verify cycle)
102+
.planning/formal/diff-report.md
103+
.planning/formal/gates/
104+
.planning/formal/promotion-changelog.json
105+
.planning/formal/suspects.md
106+
107+
# Agent memory logs (runtime artifacts)
108+
.planning/memory/
109+
101110
# Nested planning artifacts in .formal
102111
.planning/formal/alloy/.planning/
103112

@@ -141,3 +150,7 @@ bin/.planning/
141150
# Session artifacts from cycle2 simulations (route to os.tmpdir() instead)
142151
.planning/formal/cycle2-simulations/
143152
.planning/quorum/slot-results/
153+
154+
# Routing policy runtime state (learned bandit data)
155+
.nf-routing-rewards.jsonl
156+
.nf-river-state.json

.planning/STATE.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,28 @@ See: .planning/PROJECT.md
1515
| # | Description | Date | Commit | Status | Directory |
1616
|---|---|---|---|---|---|
1717
| 374 | Make API slots backup-only | 2026-04-04 | 99b79b4f | Verified | [374-make-api-slots-backup-only-dispatch-to-a](./quick/374-make-api-slots-backup-only-dispatch-to-a/) |
18+
| 375 | issue-47-agents-skip-formal-modeling | 2026-04-05 | d174cae7 | Verified | [375-issue-47-agents-skip-formal-modeling](./quick/375-issue-47-agents-skip-formal-modeling/) |
1819
| 379 | Issue #46: Add formal model staleness detection via content hashing | 2026-04-05 | 7ae0fe01 | Needs Review | [379-issue-46-add-formal-model-staleness-dete](./quick/379-issue-46-add-formal-model-staleness-dete/) |
20+
| 380 | Improve nForma reporting for feature usefulness and bugs caught | 2026-04-07 | 0e3bb9ee | Verified | [380-improve-nforma-reporting-for-feature-use](./quick/380-improve-nforma-reporting-for-feature-use/) |
21+
| 380 | Delegate quorum slot coding to external agents via quorum-slot-dispatch.cjs | 2026-04-06 | f56c7d43 | Verified | [380-delegate-quorum-slot-coding-to-external-](./quick/380-delegate-quorum-slot-coding-to-external-/) |
22+
| 380 | Trim packaged skills to 6, merge into lifecycle | 2026-04-07 | 807f0c5b | Pending | [380-trim-packaged-skills-to-6-merge-removed-](./quick/380-trim-packaged-skills-to-6-merge-removed-/) |
1923
| 380 | Issue #64: Make --auto the default for milestone workflows — complete default_milestone config feature | 2026-04-07 | c7df57eb | Verified | [380-issue-64-make-auto-the-default-for-miles](./quick/380-issue-64-make-auto-the-default-for-miles/) |
24+
| 381 | Add --delegate flag to nf:quick for full task delegation via Mode C dispatch | 2026-04-07 | e77c29eb | Verified | [381-add-delegate-flag-to-nf-quick-for-full-t](./quick/381-add-delegate-flag-to-nf-quick-for-full-t/) |
25+
| 381 | Create checklist registry JSON + matching script | 2026-04-07 | 0c515031 | Pending | [381-create-checklist-registry-json-with-trig](./quick/381-create-checklist-registry-json-with-trig/) |
26+
| 382 | Implement Tier 0 policy interface and Tier 1 River bandit layer for routing authority ladder in selectSlot | 2026-04-07 | 1fc88449 | Verified | [382-implement-tier-0-policy-interface-and-ti](./quick/382-implement-tier-0-policy-interface-and-ti/) |
27+
| 383 | Wire task-intake routing into PresetPolicy, update nf:quick command metadata with delegate flag, add delegation docs | 2026-04-07 | 40ef3ab3 | Verified | [383-wire-task-intake-routing-into-presetpoli](./quick/383-wire-task-intake-routing-into-presetpoli/) |
2028

2129
## Session Log
2230

31+
- 2026-04-05 - Completed quick task 375: issue-47-agents-skip-formal-modeling
2332
- 2026-04-04: Completed quick task 374 - Make API slots backup-only
2433
- 2026-04-04: STATE.md regenerated by /gsd:health --repair
2534
- 2026-04-05: Completed quick task 379 - Issue #46: Add formal model staleness detection via content hashing
35+
- 2026-04-07: Completed quick task 380 - Improve nForma reporting for feature usefulness and bugs caught
36+
- 2026-04-06 - Completed quick task 380: Delegate quorum slot coding to external agents via quorum-slot-dispatch.cjs
37+
- 2026-04-07: Completed quick task 380: Trim packaged skills to 6
2638
- 2026-04-07: Completed quick task 380 - Issue #64: Make --auto the default for milestone workflows
39+
- 2026-04-07 - Completed quick task 381: Add --delegate flag to nf:quick for full task delegation via Mode C dispatch
40+
- 2026-04-07: Completed quick task 381: Create checklist registry JSON + matching script
41+
- 2026-04-07 - Completed quick task 382: Implement Tier 0 policy interface and Tier 1 River bandit layer for routing authority ladder in selectSlot
42+
- 2026-04-07 - Completed quick task 383: Wire task-intake routing into PresetPolicy, update command metadata, add delegation docs

.planning/STATE.md.bak-2026-02-26T19-33-36

Lines changed: 0 additions & 150 deletions
This file was deleted.

.planning/formal/alloy/quorum-votes.als

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
-- GENERATED — do not edit by hand.
33
-- Source of truth: src/machines/nf-workflow.machine.ts
44
-- Regenerate: node bin/generate-formal-specs.cjs
5-
-- Generated: 2026-04-06
5+
-- Generated: 2026-04-07
66

77
-- nForma Quorum Vote-Counting Model (Alloy 6)
88
-- Requirements: ALY-01

0 commit comments

Comments
 (0)