Skip to content

Commit 959bad1

Browse files
Sync Boatstack from Intelligence Flow Labs @ f0865c780f03 (#59)
Co-authored-by: operator-stack-publisher[bot] <operator-stack-publisher[bot]@users.noreply.github.com>
1 parent e6bdd1f commit 959bad1

7 files changed

Lines changed: 28 additions & 23 deletions

File tree

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# Contributing
44

5-
Boatstack is a generated content distribution. Propose changes to workflow semantics, templates, evidence rules, or generated presentation in [Intelligence Flow](https://github.com/operatorstack/intelligence-flow/tree/6413259bbc3b84cdc6eb347625e2820e4d5dd909/labs/12-product-engineering-loop).
5+
Boatstack is a generated content distribution. Propose changes to workflow semantics, templates, evidence rules, or generated presentation in [Intelligence Flow](https://github.com/operatorstack/intelligence-flow/tree/f0865c780f0372fb7aa0856eb235d8ae9fc39a38/labs/12-product-engineering-loop).
66

77
The Boatstack repository receives product/runtime changes through a generated pull request. Review the PR's `UPSTREAM.json`, tests, adapter diff, and context-size change; do not hand-edit generated output on `main`. `.github/workflows` is the exception: it is Boatstack's executable control plane, excluded from scheduled projection and changed only through a separate manually reviewed Boatstack PR.
88

UPSTREAM.json

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
},
1313
"files": {
1414
".gitignore": "a7079e923a776f14f1bb3a6aa0a11a133a8e1dfb35af020f327623357b7e3957",
15-
"CONTRIBUTING.md": "2cf7d6f5c55cc27a21bc9eeff92a46c5dfe26bba42a98b01888517fc28ccdb70",
15+
"CONTRIBUTING.md": "86afc660200684a246fbdbf72c5e264bb9a7c215b80d3f28230eb3d0428e63b2",
1616
"README.md": "a90ba7af7a9cbf71c858d99187f66e0f3db305b2a76fc98ba5625f78ac7c23a4",
1717
"assets/boatstack-journey.svg": "e465befc50c8ce30f3e07e8fd97012931beeb053392c8fbf38ad645023b3cc63",
1818
"assets/boatstack-mark.svg": "be1f984da1bfa69fa5d1f986d8343d21f7e20921b71db888c928b4d2e54b09b5",
@@ -39,7 +39,7 @@
3939
"boatstack/delivery.go": "6ff71b6f4ae4f85a184edaf453b5933a79366e36137802fda056e58f83fe319c",
4040
"boatstack/delivery_test.go": "e0323d4e2ef9c74a07c799cf42df91c90a43d61a0fdfddd8b10c5e3e27d5e492",
4141
"boatstack/evidence.go": "497a31e6ff632cb1d7c3adfc9f269af3f6aa84e948dd5d417c162767542a27df",
42-
"boatstack/export.go": "be598a6ab1546c18cf1dd04f7d210b8fd986073033a20520b494478315096e2f",
42+
"boatstack/export.go": "308a6f454b297a9ca068802072afdb039505a2b3fdba5dfb8cc985875a49a008",
4343
"boatstack/export_test.go": "27f9895f39d0958b5b4824193865a8a30333db709e5b91788aff3d49304457ed",
4444
"boatstack/go.mod": "6086ef1b2a83f5696190dca692c653925f27b61f652f659fd3fca43ed54a1641",
4545
"boatstack/go.sum": "26c315c867b11b886f3c9402fce7f341f6a9115a5d61f54afbb5e1b1fb5f6017",
@@ -89,10 +89,10 @@
8989
"docs/account-recovery-walkthrough.md": "676034974594a7d1a559b24dbed31d7ccc429eb81404b203ca07bbdaa19ec3d3",
9090
"docs/benchmark-corpus-audit.md": "f2d206fe8579a514f9da82b2c96c19b343ac004be67617e1bd34f0f8e0e5e6c6",
9191
"docs/benchmark-submission-audit.md": "9518abdd17690729c6423f87cab20418ed47b0915b5faa44b9ef975e9e9c3b79",
92-
"docs/evidence-engineered-coding.md": "9bf104ff034817b8f9ebf177898efd86d1b7cf64ff085c62133e84b7ecea448e",
92+
"docs/evidence-engineered-coding.md": "b328d4f5acfe616eed6bf7d0fc70b2a11c07540a866720fec8bc0294e3af973f",
9393
"docs/generated-files.md": "136422baf0c7fc2bd5100cfe0ebdb3d9d0705dfd7e7d54bf745dd1037e63492c",
9494
"docs/getting-started.md": "eacc814fdffdfa3c7d8052b7cd99a79c04da5c75d88d8b44f3fb68d9afec0316",
95-
"docs/public-claims.json": "74ba7f4500d161b6b8358c1f0dc57df85fcf604332363f578b32dfdd1b76090a",
95+
"docs/public-claims.json": "82803e62d6485cbcfc5857871544e74bcdaf8c6aca9fbfc474f7aed236f7fee5",
9696
"docs/public-surface.md": "713f7a050b5f339cf948299103ef3800417dccfecf2cc1a4166397ea6f978907",
9797
"docs/research-and-design.md": "d65c66e323037bda5d45aacef5d48afa6bf93da55901378891d235aca3a5684f",
9898
"docs/safety.md": "7b9b5c515d36e683767ec8d3d9d6d119ac93650b2f629d351deadd4c600ed6a6",
@@ -106,7 +106,7 @@
106106
"labs/diagram-json/compiled/evidence.md": "1ba1c989ade070a8ef9a508fbd788d100d7292f2dbacbb2bce895468019f619d",
107107
"labs/diagram-json/compiled/tasks.json": "88f60851abf79d851e9fccc754ff3040034ae595306bc87d64784c19eb403e71",
108108
"labs/diagram-json/compiled/test-matrix.json": "424657ff505768e50fa113801fd8363364a18269d5297480907a993d44063a39",
109-
"labs/diagram-json/plan.lock.json": "7a1a050737a04ccb7b0b0a71f44f45c1ddeaf2c1eba8e0acdd3d8e6ba9218d60",
109+
"labs/diagram-json/plan.lock.json": "3de44ef6234a47375511c8cd01d86b2a1379aa584bf9f25587d23c22c7b8926b",
110110
"labs/diagram-json/plan.md": "3cc4f533b8d69386deff16b3a594a3ba09d4c0c3db636cccd8c4380084ce6a51",
111111
"labs/diagram-json/questions.md": "74733b015002c8a6777c558e7e997fa48c94850b9bd39054fe9366c97ecf728d",
112112
"labs/diagram-json/request.md": "0808fc41c36779c404f4a3a121167da6e76cac56df526e70f9ed6d3e0d4c02ed",
@@ -148,12 +148,13 @@
148148
"release-notes/2026-07-20-speak-software-standards.md": "a8890ed7eb38868bdf3035572d71785ca89abd3ffc3a314a5dc5315150afe397",
149149
"release-notes/2026-07-21-blueprint-diagrams-value-first-readme.md": "11eb70cb814a99606b4f7761401d3670074fe6bd1af8557f95f573b04a3195af",
150150
"release-notes/2026-07-21-e2e-architecture-grounding.md": "7fa7e99fc6fd4e0688009bb736e6506830bf0216f3fa19757cbd9f5679c7ac3b",
151-
"release-notes/2026-07-21-prevent-hallucinated-approver-names.md": "a5fd08bc3d8b983340a2ddd67b71c78b2b34a915fdfe6eb7cdffd0f1d52e3427"
151+
"release-notes/2026-07-21-prevent-hallucinated-approver-names.md": "a5fd08bc3d8b983340a2ddd67b71c78b2b34a915fdfe6eb7cdffd0f1d52e3427",
152+
"release-notes/2026-07-21-prevent-worktree-dirty-state.md": "d3ebac81a14565461fd7f3c5bd520d881d70b584408ba35a1022cd917c7bf132"
152153
},
153154
"generator": "operatorstack/intelligence-flow:boatstack-distribution",
154155
"schema_version": 1,
155156
"source": {
156-
"commit": "6413259bbc3b84cdc6eb347625e2820e4d5dd909",
157+
"commit": "f0865c780f0372fb7aa0856eb235d8ae9fc39a38",
157158
"path": "labs/12-product-engineering-loop",
158159
"repository": "operatorstack/intelligence-flow"
159160
}

boatstack/export.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ func BuildExportBundle(configPath string, config ProjectConfig, rawConfig []byte
211211
return ExportBundle{}, err
212212
}
213213
files[".product-loop/project.json"] = projectJSON
214-
files[".product-loop/.gitignore"] = []byte("bin/\n")
214+
files[".product-loop/.gitignore"] = []byte("bin/\nworktrees/\n")
215215
files[".product-loop/intake/.gitkeep"] = []byte{}
216216
files[".product-loop/hooks/guard.sh"] = guardShellScript()
217217
files[".product-loop/hooks/guard.ps1"] = guardPowerShellScript()

docs/evidence-engineered-coding.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,6 @@ Delivery and system improvement also remain separate. A failed task may suggest
146146

147147
## What is evidence-backed
148148

149-
The current moves were derived from the Intelligence Flow benchmark corpus and product-repository studies. The generated source commit is [`6413259bbc3b84cdc6eb347625e2820e4d5dd909`](https://github.com/operatorstack/intelligence-flow/tree/6413259bbc3b84cdc6eb347625e2820e4d5dd909/labs/12-product-engineering-loop).
149+
The current moves were derived from the Intelligence Flow benchmark corpus and product-repository studies. The generated source commit is [`f0865c780f0372fb7aa0856eb235d8ae9fc39a38`](https://github.com/operatorstack/intelligence-flow/tree/f0865c780f0372fb7aa0856eb235d8ae9fc39a38/labs/12-product-engineering-loop).
150150

151151
The evidence supports specific failure mechanisms and guardrails. It does not establish that Boatstack is optimal, that control-theory notation proves software quality, or that one workflow dominates every team. Those are evaluation questions, so the distribution preserves measurements, provenance, gaps, and negative results.

docs/public-claims.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"schema_version": 1,
3-
"source_commit": "6413259bbc3b84cdc6eb347625e2820e4d5dd909",
3+
"source_commit": "f0865c780f0372fb7aa0856eb235d8ae9fc39a38",
44
"statuses": ["verified", "observed", "still_being_evaluated"],
55
"claims": [
66
{
@@ -12,7 +12,7 @@
1212
"readable_evidence": "why-these-steps.md#portable-workflow-and-state",
1313
"implementation": ["../boatstack/export.go", "../boatstack/references/artifacts.md", "../boatstack/references/workflow.md"],
1414
"verification": ["../boatstack/export_test.go"],
15-
"last_verified_version": "source:6413259bbc3b84cdc6eb347625e2820e4d5dd909"
15+
"last_verified_version": "source:f0865c780f0372fb7aa0856eb235d8ae9fc39a38"
1616
},
1717
{
1818
"id": "human-decisions",
@@ -23,7 +23,7 @@
2323
"readable_evidence": "why-these-steps.md#human-decisions",
2424
"implementation": ["../boatstack/references/workflow.md", "../boatstack/plan.go"],
2525
"verification": ["../boatstack/plan_test.go", "../boatstack/planning_test.go"],
26-
"last_verified_version": "source:6413259bbc3b84cdc6eb347625e2820e4d5dd909"
26+
"last_verified_version": "source:f0865c780f0372fb7aa0856eb235d8ae9fc39a38"
2727
},
2828
{
2929
"id": "validation-provenance",
@@ -34,7 +34,7 @@
3434
"readable_evidence": "why-these-steps.md#validation-provenance",
3535
"implementation": ["validation-and-evidence.md", "../boatstack/plan.go"],
3636
"verification": ["../boatstack/plan_test.go"],
37-
"last_verified_version": "source:6413259bbc3b84cdc6eb347625e2820e4d5dd909"
37+
"last_verified_version": "source:f0865c780f0372fb7aa0856eb235d8ae9fc39a38"
3838
},
3939
{
4040
"id": "irreversible-operations",
@@ -46,7 +46,7 @@
4646
"readable_evidence": "why-these-steps.md#irreversible-operations",
4747
"implementation": ["safety.md", "../boatstack/safety.go", "../boatstack/hooks.go"],
4848
"verification": ["../boatstack/safety_test.go", "../boatstack/hooks_test.go"],
49-
"last_verified_version": "source:6413259bbc3b84cdc6eb347625e2820e4d5dd909"
49+
"last_verified_version": "source:f0865c780f0372fb7aa0856eb235d8ae9fc39a38"
5050
},
5151
{
5252
"id": "reviewer-ready-pr",
@@ -57,7 +57,7 @@
5757
"readable_evidence": "why-these-steps.md#reviewer-ready-pr",
5858
"implementation": ["../boatstack/pr.go", "getting-started.md"],
5959
"verification": ["../boatstack/pr_test.go"],
60-
"last_verified_version": "source:6413259bbc3b84cdc6eb347625e2820e4d5dd909"
60+
"last_verified_version": "source:f0865c780f0372fb7aa0856eb235d8ae9fc39a38"
6161
},
6262
{
6363
"id": "phase-scoped-delivery",
@@ -68,7 +68,7 @@
6868
"readable_evidence": "why-these-steps.md#phase-scoped-delivery",
6969
"implementation": ["../boatstack/delivery.go", "../boatstack/safety.go", "../boatstack/hooks.go", "../boatstack/references/workflow.md"],
7070
"verification": ["../boatstack/delivery_test.go", "../boatstack/pr_test.go"],
71-
"last_verified_version": "source:6413259bbc3b84cdc6eb347625e2820e4d5dd909"
71+
"last_verified_version": "source:f0865c780f0372fb7aa0856eb235d8ae9fc39a38"
7272
},
7373
{
7474
"id": "model-neutral-contract",
@@ -79,7 +79,7 @@
7979
"readable_evidence": "why-these-steps.md#model-choice-and-budget",
8080
"implementation": ["research-and-design.md", "../boatstack/references/workflow.md"],
8181
"verification": ["../boatstack/export_test.go", "../boatstack/planning_test.go"],
82-
"last_verified_version": "source:6413259bbc3b84cdc6eb347625e2820e4d5dd909"
82+
"last_verified_version": "source:f0865c780f0372fb7aa0856eb235d8ae9fc39a38"
8383
},
8484
{
8585
"id": "cross-model-failures",
@@ -90,7 +90,7 @@
9090
"readable_evidence": "why-these-steps.md#model-choice-and-budget",
9191
"implementation": ["research-and-design.md"],
9292
"verification": ["benchmark-corpus-audit.md", "benchmark-submission-audit.md"],
93-
"last_verified_version": "source:6413259bbc3b84cdc6eb347625e2820e4d5dd909"
93+
"last_verified_version": "source:f0865c780f0372fb7aa0856eb235d8ae9fc39a38"
9494
},
9595
{
9696
"id": "lower-cost-outcomes",
@@ -101,7 +101,7 @@
101101
"readable_evidence": "why-these-steps.md#model-choice-and-budget",
102102
"implementation": ["research-and-design.md"],
103103
"verification": ["benchmark-corpus-audit.md", "benchmark-submission-audit.md"],
104-
"last_verified_version": "source:6413259bbc3b84cdc6eb347625e2820e4d5dd909"
104+
"last_verified_version": "source:f0865c780f0372fb7aa0856eb235d8ae9fc39a38"
105105
},
106106
{
107107
"id": "git-worktree-activation",
@@ -112,7 +112,7 @@
112112
"readable_evidence": "why-these-steps.md#git-worktree-activation",
113113
"implementation": ["../boatstack/runtime_cache.go", "../boatstack/hooks.go"],
114114
"verification": ["../boatstack/runtime_cache_test.go", "../boatstack/hooks_test.go"],
115-
"last_verified_version": "source:6413259bbc3b84cdc6eb347625e2820e4d5dd909"
115+
"last_verified_version": "source:f0865c780f0372fb7aa0856eb235d8ae9fc39a38"
116116
},
117117
{
118118
"id": "visible-updates",
@@ -123,7 +123,7 @@
123123
"readable_evidence": "why-these-steps.md#visible-updates",
124124
"implementation": ["../boatstack/update.go", "../boatstack/init.go"],
125125
"verification": ["../boatstack/update_test.go", "../boatstack/init_test.go", "../boatstack/export_test.go"],
126-
"last_verified_version": "source:6413259bbc3b84cdc6eb347625e2820e4d5dd909"
126+
"last_verified_version": "source:f0865c780f0372fb7aa0856eb235d8ae9fc39a38"
127127
}
128128
]
129129
}

labs/diagram-json/plan.lock.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"plan_path": "labs/diagram-json/plan.md",
77
"plan_sha256": "3cc4f533b8d69386deff16b3a594a3ba09d4c0c3db636cccd8c4380084ce6a51",
88
"schema_version": 1,
9-
"source_commit": "6413259bbc3b84cdc6eb347625e2820e4d5dd909",
9+
"source_commit": "f0865c780f0372fb7aa0856eb235d8ae9fc39a38",
1010
"source_plan_path": "labs/diagram-json/source-plan.md",
1111
"source_plan_sha256": "e10593ddaa7522ab80cc991d0a09399257139799e37f737794cd49d68a39985b",
1212
"spec_path": "labs/diagram-json/spec.md",
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
### Ignore linked worktrees to prevent primary checkout dirty state
2+
3+
Boatstack now automatically ignores `worktrees/` inside the `.product-loop/` directory by explicitly adding it to the generated `.product-loop/.gitignore` file. This prevents linked worktree directories from dirtying the primary repository checkout, ensuring commands like `boatstack-update` can run smoothly. Users should still commit or clean up their untracked `features/` and `intake/` copies before updating.
4+

0 commit comments

Comments
 (0)