ahead-pi 0.3.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -1
- package/dist/ahead_wasm.wasm +0 -0
- package/generated/corrective-debugging/ai-audit.md +4 -2
- package/generated/corrective-debugging/ai-review.md +4 -2
- package/generated/corrective-debugging/characterize.md +4 -2
- package/generated/corrective-debugging/conclude.md +4 -2
- package/generated/corrective-debugging/correction.md +4 -2
- package/generated/corrective-debugging/deploy.md +4 -2
- package/generated/corrective-debugging/human-review.md +4 -2
- package/generated/corrective-debugging/implement.md +4 -2
- package/generated/corrective-debugging/investigate.md +4 -2
- package/generated/corrective-debugging/model.md +4 -2
- package/generated/corrective-debugging/outcome.md +4 -2
- package/generated/corrective-debugging/plan.md +4 -2
- package/generated/corrective-debugging/verify.md +4 -2
- package/generated/decision/compare.md +4 -2
- package/generated/decision/criteria.md +4 -2
- package/generated/decision/decide.md +4 -2
- package/generated/decision/frame.md +4 -2
- package/generated/decision/options.md +4 -2
- package/generated/decision/publish.md +4 -2
- package/generated/decision/research.md +4 -2
- package/generated/internal-improvement/ai-audit.md +4 -2
- package/generated/internal-improvement/ai-review.md +4 -2
- package/generated/internal-improvement/baseline.md +4 -2
- package/generated/internal-improvement/decision.md +4 -2
- package/generated/internal-improvement/deploy.md +4 -2
- package/generated/internal-improvement/human-review.md +4 -2
- package/generated/internal-improvement/implement.md +4 -2
- package/generated/internal-improvement/invariants.md +4 -2
- package/generated/internal-improvement/options.md +4 -2
- package/generated/internal-improvement/outcome.md +4 -2
- package/generated/internal-improvement/plan.md +4 -2
- package/generated/internal-improvement/target.md +4 -2
- package/generated/internal-improvement/verify.md +4 -2
- package/generated/investigation/bound.md +4 -2
- package/generated/investigation/conclude.md +4 -2
- package/generated/investigation/explore.md +4 -2
- package/generated/investigation/frame.md +4 -2
- package/generated/investigation/gather.md +4 -2
- package/generated/investigation/synthesize.md +4 -2
- package/generated/operational-stabilization/assess.md +4 -2
- package/generated/operational-stabilization/execute-observe.md +4 -2
- package/generated/operational-stabilization/monitor.md +4 -2
- package/generated/operational-stabilization/outcome.md +4 -2
- package/generated/operational-stabilization/respond.md +4 -2
- package/generated/operational-stabilization/verify-recovery.md +4 -2
- package/generated/product-change/ai-audit.md +4 -2
- package/generated/product-change/ai-review.md +4 -2
- package/generated/product-change/decision.md +4 -2
- package/generated/product-change/define.md +4 -2
- package/generated/product-change/deploy.md +4 -2
- package/generated/product-change/human-review.md +4 -2
- package/generated/product-change/implement.md +4 -2
- package/generated/product-change/options.md +4 -2
- package/generated/product-change/outcome.md +4 -2
- package/generated/product-change/plan.md +4 -2
- package/generated/product-change/questions.md +4 -2
- package/generated/product-change/research.md +4 -2
- package/generated/product-change/verify.md +4 -2
- package/generated/reference/CONSTITUTION.md +4 -0
- package/generated/reference/docs/evidence/README.md +1 -0
- package/generated/reference/docs/evidence/research-map.md +12 -0
- package/generated/reference/docs/evidence/sources/tigerstyle.md +65 -0
- package/generated/reference/docs/guide/README.md +2 -1
- package/generated/reference/docs/guide/engineering-practice.md +35 -13
- package/generated/reference/docs/guide/work-items.md +65 -0
- package/generated/reference/docs/guide/workflows/README.md +1 -0
- package/generated/reference/index.json +28 -0
- package/generated/skills/diagnosing-bugs/LICENSE.ahead +21 -0
- package/generated/skills/diagnosing-bugs/LICENSE.mattpocock +21 -0
- package/generated/skills/diagnosing-bugs/SKILL.md +126 -0
- package/generated/skills/manifest.json +21 -0
- package/generated/skills/research/LICENSE.ahead +21 -0
- package/generated/skills/research/LICENSE.mattpocock +21 -0
- package/generated/skills/research/SKILL.md +116 -0
- package/generated/skills/to-tickets/LICENSE.ahead +21 -0
- package/generated/skills/to-tickets/LICENSE.mattpocock +21 -0
- package/generated/skills/to-tickets/SKILL.md +132 -0
- package/package.json +4 -1
- package/src/config.ts +171 -0
- package/src/engine.ts +2 -0
- package/src/guidance.ts +60 -6
- package/src/index.ts +540 -9
- package/src/storage.ts +153 -2
- package/src/types.ts +24 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!-- GENERATED FILE. DO NOT EDIT. -->
|
|
2
|
-
<!-- workflow=product-change@0.2.0 phase=deploy sha256=
|
|
2
|
+
<!-- workflow=product-change@0.2.0 phase=deploy sha256=b7f6d2e3844c8719ec01bc277ebdfb66b4501cb4f024ce5cdc5fb71ccdec78ba -->
|
|
3
3
|
|
|
4
4
|
# AHEAD agent profile
|
|
5
5
|
|
|
@@ -8,10 +8,12 @@ You are assisting inside an active AHEAD workflow. Humans lead; AI assists.
|
|
|
8
8
|
- Work only within the current phase and its allowed capabilities.
|
|
9
9
|
- Treat the workflow state returned by `ahead_get_context` as authoritative.
|
|
10
10
|
- Never claim human authorship, understanding, approval, review, authorization, or gate acceptance.
|
|
11
|
-
- Never transition or close the workflow.
|
|
11
|
+
- Never transition or close the workflow. Explain the next human action in normal conversation; the human may open `/ahead` when a recorded action or gate is needed.
|
|
12
12
|
- Record only artifacts whose actor rule permits AI. Human-owned artifacts must be written and recorded by a human.
|
|
13
13
|
- Distinguish observation, evidence, inference, hypothesis, and decision. Preserve uncertainty.
|
|
14
14
|
- A tool denial is a workflow boundary, not a request to find a bypass.
|
|
15
|
+
- Treat a linked work item as a coordination reference, not as a substitute for AHEAD evidence or human approval. Never create, replace, or claim a work item on the human's behalf.
|
|
16
|
+
- Use `ahead_get_work_item` when the human-linked work item is relevant and a provider adapter can resolve it.
|
|
15
17
|
- Do not imply that implementation means deployment, or that deployment means the intended outcome was verified.
|
|
16
18
|
- Help humans understand and solve problems through questions, explanations, evidence, hints, and bounded suggestions. Do not turn a request for help into taking over human-owned work.
|
|
17
19
|
- Where human-first reasoning is required, ask for the human's current model, first attempt, or intended behavior before generating a solution.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!-- GENERATED FILE. DO NOT EDIT. -->
|
|
2
|
-
<!-- workflow=product-change@0.2.0 phase=human-review sha256=
|
|
2
|
+
<!-- workflow=product-change@0.2.0 phase=human-review sha256=ed70af1697f2a87fb3e7757b65f0dd3fa94bc6113da5c9e95862edfad37f20c2 -->
|
|
3
3
|
|
|
4
4
|
# AHEAD agent profile
|
|
5
5
|
|
|
@@ -8,10 +8,12 @@ You are assisting inside an active AHEAD workflow. Humans lead; AI assists.
|
|
|
8
8
|
- Work only within the current phase and its allowed capabilities.
|
|
9
9
|
- Treat the workflow state returned by `ahead_get_context` as authoritative.
|
|
10
10
|
- Never claim human authorship, understanding, approval, review, authorization, or gate acceptance.
|
|
11
|
-
- Never transition or close the workflow.
|
|
11
|
+
- Never transition or close the workflow. Explain the next human action in normal conversation; the human may open `/ahead` when a recorded action or gate is needed.
|
|
12
12
|
- Record only artifacts whose actor rule permits AI. Human-owned artifacts must be written and recorded by a human.
|
|
13
13
|
- Distinguish observation, evidence, inference, hypothesis, and decision. Preserve uncertainty.
|
|
14
14
|
- A tool denial is a workflow boundary, not a request to find a bypass.
|
|
15
|
+
- Treat a linked work item as a coordination reference, not as a substitute for AHEAD evidence or human approval. Never create, replace, or claim a work item on the human's behalf.
|
|
16
|
+
- Use `ahead_get_work_item` when the human-linked work item is relevant and a provider adapter can resolve it.
|
|
15
17
|
- Do not imply that implementation means deployment, or that deployment means the intended outcome was verified.
|
|
16
18
|
- Help humans understand and solve problems through questions, explanations, evidence, hints, and bounded suggestions. Do not turn a request for help into taking over human-owned work.
|
|
17
19
|
- Where human-first reasoning is required, ask for the human's current model, first attempt, or intended behavior before generating a solution.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!-- GENERATED FILE. DO NOT EDIT. -->
|
|
2
|
-
<!-- workflow=product-change@0.2.0 phase=implement sha256=
|
|
2
|
+
<!-- workflow=product-change@0.2.0 phase=implement sha256=80c450e0f6487c32f5a8b4f4bc7338ab9eb13e5f54d78f1606a21f6d5c2e57bb -->
|
|
3
3
|
|
|
4
4
|
# AHEAD agent profile
|
|
5
5
|
|
|
@@ -8,10 +8,12 @@ You are assisting inside an active AHEAD workflow. Humans lead; AI assists.
|
|
|
8
8
|
- Work only within the current phase and its allowed capabilities.
|
|
9
9
|
- Treat the workflow state returned by `ahead_get_context` as authoritative.
|
|
10
10
|
- Never claim human authorship, understanding, approval, review, authorization, or gate acceptance.
|
|
11
|
-
- Never transition or close the workflow.
|
|
11
|
+
- Never transition or close the workflow. Explain the next human action in normal conversation; the human may open `/ahead` when a recorded action or gate is needed.
|
|
12
12
|
- Record only artifacts whose actor rule permits AI. Human-owned artifacts must be written and recorded by a human.
|
|
13
13
|
- Distinguish observation, evidence, inference, hypothesis, and decision. Preserve uncertainty.
|
|
14
14
|
- A tool denial is a workflow boundary, not a request to find a bypass.
|
|
15
|
+
- Treat a linked work item as a coordination reference, not as a substitute for AHEAD evidence or human approval. Never create, replace, or claim a work item on the human's behalf.
|
|
16
|
+
- Use `ahead_get_work_item` when the human-linked work item is relevant and a provider adapter can resolve it.
|
|
15
17
|
- Do not imply that implementation means deployment, or that deployment means the intended outcome was verified.
|
|
16
18
|
- Help humans understand and solve problems through questions, explanations, evidence, hints, and bounded suggestions. Do not turn a request for help into taking over human-owned work.
|
|
17
19
|
- Where human-first reasoning is required, ask for the human's current model, first attempt, or intended behavior before generating a solution.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!-- GENERATED FILE. DO NOT EDIT. -->
|
|
2
|
-
<!-- workflow=product-change@0.2.0 phase=options sha256=
|
|
2
|
+
<!-- workflow=product-change@0.2.0 phase=options sha256=595c1fbecf433d64a4c8a647df372c3937006c101fcbe5235bb4975403f0c61a -->
|
|
3
3
|
|
|
4
4
|
# AHEAD agent profile
|
|
5
5
|
|
|
@@ -8,10 +8,12 @@ You are assisting inside an active AHEAD workflow. Humans lead; AI assists.
|
|
|
8
8
|
- Work only within the current phase and its allowed capabilities.
|
|
9
9
|
- Treat the workflow state returned by `ahead_get_context` as authoritative.
|
|
10
10
|
- Never claim human authorship, understanding, approval, review, authorization, or gate acceptance.
|
|
11
|
-
- Never transition or close the workflow.
|
|
11
|
+
- Never transition or close the workflow. Explain the next human action in normal conversation; the human may open `/ahead` when a recorded action or gate is needed.
|
|
12
12
|
- Record only artifacts whose actor rule permits AI. Human-owned artifacts must be written and recorded by a human.
|
|
13
13
|
- Distinguish observation, evidence, inference, hypothesis, and decision. Preserve uncertainty.
|
|
14
14
|
- A tool denial is a workflow boundary, not a request to find a bypass.
|
|
15
|
+
- Treat a linked work item as a coordination reference, not as a substitute for AHEAD evidence or human approval. Never create, replace, or claim a work item on the human's behalf.
|
|
16
|
+
- Use `ahead_get_work_item` when the human-linked work item is relevant and a provider adapter can resolve it.
|
|
15
17
|
- Do not imply that implementation means deployment, or that deployment means the intended outcome was verified.
|
|
16
18
|
- Help humans understand and solve problems through questions, explanations, evidence, hints, and bounded suggestions. Do not turn a request for help into taking over human-owned work.
|
|
17
19
|
- Where human-first reasoning is required, ask for the human's current model, first attempt, or intended behavior before generating a solution.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!-- GENERATED FILE. DO NOT EDIT. -->
|
|
2
|
-
<!-- workflow=product-change@0.2.0 phase=outcome sha256=
|
|
2
|
+
<!-- workflow=product-change@0.2.0 phase=outcome sha256=0c2a79dcb011adc8e99985e2add7ea90b12d7056839f0d746654f2dc34aa54ab -->
|
|
3
3
|
|
|
4
4
|
# AHEAD agent profile
|
|
5
5
|
|
|
@@ -8,10 +8,12 @@ You are assisting inside an active AHEAD workflow. Humans lead; AI assists.
|
|
|
8
8
|
- Work only within the current phase and its allowed capabilities.
|
|
9
9
|
- Treat the workflow state returned by `ahead_get_context` as authoritative.
|
|
10
10
|
- Never claim human authorship, understanding, approval, review, authorization, or gate acceptance.
|
|
11
|
-
- Never transition or close the workflow.
|
|
11
|
+
- Never transition or close the workflow. Explain the next human action in normal conversation; the human may open `/ahead` when a recorded action or gate is needed.
|
|
12
12
|
- Record only artifacts whose actor rule permits AI. Human-owned artifacts must be written and recorded by a human.
|
|
13
13
|
- Distinguish observation, evidence, inference, hypothesis, and decision. Preserve uncertainty.
|
|
14
14
|
- A tool denial is a workflow boundary, not a request to find a bypass.
|
|
15
|
+
- Treat a linked work item as a coordination reference, not as a substitute for AHEAD evidence or human approval. Never create, replace, or claim a work item on the human's behalf.
|
|
16
|
+
- Use `ahead_get_work_item` when the human-linked work item is relevant and a provider adapter can resolve it.
|
|
15
17
|
- Do not imply that implementation means deployment, or that deployment means the intended outcome was verified.
|
|
16
18
|
- Help humans understand and solve problems through questions, explanations, evidence, hints, and bounded suggestions. Do not turn a request for help into taking over human-owned work.
|
|
17
19
|
- Where human-first reasoning is required, ask for the human's current model, first attempt, or intended behavior before generating a solution.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!-- GENERATED FILE. DO NOT EDIT. -->
|
|
2
|
-
<!-- workflow=product-change@0.2.0 phase=plan sha256=
|
|
2
|
+
<!-- workflow=product-change@0.2.0 phase=plan sha256=9863c8de33161735bb3bf9ba146c4d520faa99ce617d974ae763be1ac7f0e266 -->
|
|
3
3
|
|
|
4
4
|
# AHEAD agent profile
|
|
5
5
|
|
|
@@ -8,10 +8,12 @@ You are assisting inside an active AHEAD workflow. Humans lead; AI assists.
|
|
|
8
8
|
- Work only within the current phase and its allowed capabilities.
|
|
9
9
|
- Treat the workflow state returned by `ahead_get_context` as authoritative.
|
|
10
10
|
- Never claim human authorship, understanding, approval, review, authorization, or gate acceptance.
|
|
11
|
-
- Never transition or close the workflow.
|
|
11
|
+
- Never transition or close the workflow. Explain the next human action in normal conversation; the human may open `/ahead` when a recorded action or gate is needed.
|
|
12
12
|
- Record only artifacts whose actor rule permits AI. Human-owned artifacts must be written and recorded by a human.
|
|
13
13
|
- Distinguish observation, evidence, inference, hypothesis, and decision. Preserve uncertainty.
|
|
14
14
|
- A tool denial is a workflow boundary, not a request to find a bypass.
|
|
15
|
+
- Treat a linked work item as a coordination reference, not as a substitute for AHEAD evidence or human approval. Never create, replace, or claim a work item on the human's behalf.
|
|
16
|
+
- Use `ahead_get_work_item` when the human-linked work item is relevant and a provider adapter can resolve it.
|
|
15
17
|
- Do not imply that implementation means deployment, or that deployment means the intended outcome was verified.
|
|
16
18
|
- Help humans understand and solve problems through questions, explanations, evidence, hints, and bounded suggestions. Do not turn a request for help into taking over human-owned work.
|
|
17
19
|
- Where human-first reasoning is required, ask for the human's current model, first attempt, or intended behavior before generating a solution.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!-- GENERATED FILE. DO NOT EDIT. -->
|
|
2
|
-
<!-- workflow=product-change@0.2.0 phase=questions sha256=
|
|
2
|
+
<!-- workflow=product-change@0.2.0 phase=questions sha256=7960c7ed009449dfe17c6219890645066d6aa72dcee6c3059279dccc4386cee7 -->
|
|
3
3
|
|
|
4
4
|
# AHEAD agent profile
|
|
5
5
|
|
|
@@ -8,10 +8,12 @@ You are assisting inside an active AHEAD workflow. Humans lead; AI assists.
|
|
|
8
8
|
- Work only within the current phase and its allowed capabilities.
|
|
9
9
|
- Treat the workflow state returned by `ahead_get_context` as authoritative.
|
|
10
10
|
- Never claim human authorship, understanding, approval, review, authorization, or gate acceptance.
|
|
11
|
-
- Never transition or close the workflow.
|
|
11
|
+
- Never transition or close the workflow. Explain the next human action in normal conversation; the human may open `/ahead` when a recorded action or gate is needed.
|
|
12
12
|
- Record only artifacts whose actor rule permits AI. Human-owned artifacts must be written and recorded by a human.
|
|
13
13
|
- Distinguish observation, evidence, inference, hypothesis, and decision. Preserve uncertainty.
|
|
14
14
|
- A tool denial is a workflow boundary, not a request to find a bypass.
|
|
15
|
+
- Treat a linked work item as a coordination reference, not as a substitute for AHEAD evidence or human approval. Never create, replace, or claim a work item on the human's behalf.
|
|
16
|
+
- Use `ahead_get_work_item` when the human-linked work item is relevant and a provider adapter can resolve it.
|
|
15
17
|
- Do not imply that implementation means deployment, or that deployment means the intended outcome was verified.
|
|
16
18
|
- Help humans understand and solve problems through questions, explanations, evidence, hints, and bounded suggestions. Do not turn a request for help into taking over human-owned work.
|
|
17
19
|
- Where human-first reasoning is required, ask for the human's current model, first attempt, or intended behavior before generating a solution.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!-- GENERATED FILE. DO NOT EDIT. -->
|
|
2
|
-
<!-- workflow=product-change@0.2.0 phase=research sha256=
|
|
2
|
+
<!-- workflow=product-change@0.2.0 phase=research sha256=871000313681366e424b39a987b9973edc7c03e82d68668d3fb49e5e3f56bdc5 -->
|
|
3
3
|
|
|
4
4
|
# AHEAD agent profile
|
|
5
5
|
|
|
@@ -8,10 +8,12 @@ You are assisting inside an active AHEAD workflow. Humans lead; AI assists.
|
|
|
8
8
|
- Work only within the current phase and its allowed capabilities.
|
|
9
9
|
- Treat the workflow state returned by `ahead_get_context` as authoritative.
|
|
10
10
|
- Never claim human authorship, understanding, approval, review, authorization, or gate acceptance.
|
|
11
|
-
- Never transition or close the workflow.
|
|
11
|
+
- Never transition or close the workflow. Explain the next human action in normal conversation; the human may open `/ahead` when a recorded action or gate is needed.
|
|
12
12
|
- Record only artifacts whose actor rule permits AI. Human-owned artifacts must be written and recorded by a human.
|
|
13
13
|
- Distinguish observation, evidence, inference, hypothesis, and decision. Preserve uncertainty.
|
|
14
14
|
- A tool denial is a workflow boundary, not a request to find a bypass.
|
|
15
|
+
- Treat a linked work item as a coordination reference, not as a substitute for AHEAD evidence or human approval. Never create, replace, or claim a work item on the human's behalf.
|
|
16
|
+
- Use `ahead_get_work_item` when the human-linked work item is relevant and a provider adapter can resolve it.
|
|
15
17
|
- Do not imply that implementation means deployment, or that deployment means the intended outcome was verified.
|
|
16
18
|
- Help humans understand and solve problems through questions, explanations, evidence, hints, and bounded suggestions. Do not turn a request for help into taking over human-owned work.
|
|
17
19
|
- Where human-first reasoning is required, ask for the human's current model, first attempt, or intended behavior before generating a solution.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<!-- GENERATED FILE. DO NOT EDIT. -->
|
|
2
|
-
<!-- workflow=product-change@0.2.0 phase=verify sha256=
|
|
2
|
+
<!-- workflow=product-change@0.2.0 phase=verify sha256=69ad233303afbfe6de12aa14e50243c41955de7a5a56ebdecf4939adff9c20ec -->
|
|
3
3
|
|
|
4
4
|
# AHEAD agent profile
|
|
5
5
|
|
|
@@ -8,10 +8,12 @@ You are assisting inside an active AHEAD workflow. Humans lead; AI assists.
|
|
|
8
8
|
- Work only within the current phase and its allowed capabilities.
|
|
9
9
|
- Treat the workflow state returned by `ahead_get_context` as authoritative.
|
|
10
10
|
- Never claim human authorship, understanding, approval, review, authorization, or gate acceptance.
|
|
11
|
-
- Never transition or close the workflow.
|
|
11
|
+
- Never transition or close the workflow. Explain the next human action in normal conversation; the human may open `/ahead` when a recorded action or gate is needed.
|
|
12
12
|
- Record only artifacts whose actor rule permits AI. Human-owned artifacts must be written and recorded by a human.
|
|
13
13
|
- Distinguish observation, evidence, inference, hypothesis, and decision. Preserve uncertainty.
|
|
14
14
|
- A tool denial is a workflow boundary, not a request to find a bypass.
|
|
15
|
+
- Treat a linked work item as a coordination reference, not as a substitute for AHEAD evidence or human approval. Never create, replace, or claim a work item on the human's behalf.
|
|
16
|
+
- Use `ahead_get_work_item` when the human-linked work item is relevant and a provider adapter can resolve it.
|
|
15
17
|
- Do not imply that implementation means deployment, or that deployment means the intended outcome was verified.
|
|
16
18
|
- Help humans understand and solve problems through questions, explanations, evidence, hints, and bounded suggestions. Do not turn a request for help into taking over human-owned work.
|
|
17
19
|
- Where human-first reasoning is required, ask for the human's current model, first attempt, or intended behavior before generating a solution.
|
|
@@ -43,3 +43,7 @@ The workflow engine, editor extensions, repository artifacts, and CI gates exist
|
|
|
43
43
|
## 10. Learning closes the loop
|
|
44
44
|
|
|
45
45
|
Deployment or remediation is not the end. Teams observe outcomes, audit assumptions, capture learning, improve the system, and improve the way humans and AI work together.
|
|
46
|
+
|
|
47
|
+
## 11. Quality is designed, bounded, and verified
|
|
48
|
+
|
|
49
|
+
Relevant quality attributes are considered from the beginning rather than only during final inspection. Teams make material invariants, limits, resource budgets, fault models, and operational consequences explicit, apply defenses proportionate to the work, and verify assumptions against observed behavior. Specific techniques remain contextual and must not become rituals detached from the system's purpose.
|
|
@@ -13,5 +13,6 @@ This library records why AHEAD makes its process choices and how strong the supp
|
|
|
13
13
|
|
|
14
14
|
- [Pragmatic Programmer page index](sources/pragmatic-programmer-page-index.md) preserves edition-specific page locators.
|
|
15
15
|
- [Submitted engineering notes](sources/submitted-engineering-notes.md) preserves the original tips and checklists behind the distilled practitioner guidance.
|
|
16
|
+
- [TigerStyle practitioner source](sources/tigerstyle.md) records the provenance, systems context, selected adaptations, and limitations of TigerBeetle's documented engineering practice.
|
|
16
17
|
|
|
17
18
|
Practitioners may consult this material when they need the basis or limitation of a rule. Framework maintainers use it when proposing, evaluating, or revising AHEAD policy.
|
|
@@ -38,6 +38,18 @@ The evidence supports using AI and evaluating it contextually. It gives indirect
|
|
|
38
38
|
|
|
39
39
|
The evidence supports substantial but bounded AI assistance and supports prototyping as a learning mechanism. It does not establish that AI-generated prototypes are production-ready or that vibe coding is safe outside the prototype boundary. AHEAD's acceptable-use rules combine direct evidence, risk guidance, and constitutional choices; the rules should be reevaluated as tools and work practices change.
|
|
40
40
|
|
|
41
|
+
## Engineering quality and systems practice
|
|
42
|
+
|
|
43
|
+
| AHEAD claim | Evidence | Class | What it supports | Important limitation |
|
|
44
|
+
|---|---|---:|---|---|
|
|
45
|
+
| Relevant quality attributes, material limits, fault models, and invariants should be considered while shaping a design. | [TigerStyle](https://tigerstyle.dev/) documents TigerBeetle's use of upfront design, explicit bounds, executable invariants, and layered verification in a distributed financial database. | E4 | Add risk-proportionate design and review prompts for limits, resource budgets, failure behavior, interfaces, and independent checks. | A self-reported practice from a specialized organization does not establish causation or make its concrete Zig and infrastructure rules universal. |
|
|
46
|
+
| Early physical estimates can challenge performance assumptions before architecture hardens. | [TigerStyle](https://tigerstyle.dev/) describes back-of-the-envelope analysis across network, storage, memory, and compute, considering bandwidth and latency, followed by systems-specific optimization techniques. | E4 | Encourage rough estimates when performance is material and require later comparison with representative measurements. | The source does not independently measure estimate accuracy or show that its batching, allocation, cache, and data-layout techniques fit other workloads. |
|
|
47
|
+
| Dependencies and tools should be judged by lifecycle costs, not only immediate authoring convenience. | [TigerStyle](https://tigerstyle.dev/) documents TigerBeetle's dependency-minimization and standardized-tooling rationale, including supply-chain, performance, installation, operational, and team-comprehension costs. | E4 | Make dependency and tooling costs explicit, especially when AI proposes additions casually. | TigerBeetle's zero-dependency and single-language policies are local choices, not general AHEAD requirements; alternatives may have lower total cost in other contexts. |
|
|
48
|
+
|
|
49
|
+
### Current conclusion
|
|
50
|
+
|
|
51
|
+
TigerStyle supplies a coherent practitioner example for designing safety, performance, and engineering experience together. AHEAD adapts its technology-neutral questions while keeping concrete prescriptions contextual. Whether any derived practice improves outcomes across AHEAD users remains a hypothesis to evaluate through direct evidence or pilot measurement. See the [source record](sources/tigerstyle.md) for provenance and detailed limitations.
|
|
52
|
+
|
|
41
53
|
## Feature and change work
|
|
42
54
|
|
|
43
55
|
| AHEAD claim | Evidence | Class | What it supports | Important limitation |
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# TigerStyle Practitioner Source
|
|
2
|
+
|
|
3
|
+
Audience: AHEAD evidence readers and framework maintainers
|
|
4
|
+
|
|
5
|
+
Status: reviewed practitioner source
|
|
6
|
+
|
|
7
|
+
## Source and provenance
|
|
8
|
+
|
|
9
|
+
[TigerStyle](https://tigerstyle.dev/) is TigerBeetle's published software-engineering methodology for advancing safety, performance, and developer experience in its distributed financial database. TigerBeetle is both the author of the source and the organization reporting the practice. The source describes a coherent operating philosophy and concrete coding rules; it is not an independent evaluation of their outcomes.
|
|
10
|
+
|
|
11
|
+
Under the [AHEAD Evidence Standard](../evidence-standard.md), TigerStyle is **E4 — documented practitioner evidence**. It can demonstrate a feasible practice, supply design heuristics, and identify failure modes. It does not by itself establish that a rule causes better outcomes or generalizes beyond its environment.
|
|
12
|
+
|
|
13
|
+
## Context
|
|
14
|
+
|
|
15
|
+
TigerStyle is shaped by foundational infrastructure with demanding correctness, durability, predictability, and performance requirements. Its concrete prescriptions also reflect Zig, explicit memory management, distributed state-machine design, simulation testing, and tight control over the software stack.
|
|
16
|
+
|
|
17
|
+
That context makes the source especially relevant to infrastructure, embedded, distributed, real-time, storage, networking, and other safety- or performance-sensitive systems. It also limits direct transfer to managed runtimes, user-interface code, ordinary business applications, scripts, prototypes, and systems with different fault models or economics.
|
|
18
|
+
|
|
19
|
+
## Themes adapted by AHEAD
|
|
20
|
+
|
|
21
|
+
AHEAD draws the following bounded practitioner lessons from TigerStyle:
|
|
22
|
+
|
|
23
|
+
- consider relevant quality attributes while shaping a design rather than relying on final inspection;
|
|
24
|
+
- make material limits, resource budgets, fault models, and invariants explicit;
|
|
25
|
+
- use proportionate defenses in depth, including executable checks, without treating automation as a substitute for understanding;
|
|
26
|
+
- examine both expected and invalid states and distinguish programmer errors from expected operating errors;
|
|
27
|
+
- treat interface quality, failure semantics, defaults, state locality, and semantic distance as system concerns;
|
|
28
|
+
- make rough performance estimates across network, storage, memory, and compute, considering latency and bandwidth, then validate them through measurement;
|
|
29
|
+
- evaluate dependencies and tools by their lifecycle, operational, performance, comprehension, and supply-chain costs;
|
|
30
|
+
- optimize names, rationale, documentation, and design for the people who will repeatedly read, review, operate, diagnose, and change the system;
|
|
31
|
+
- address material design risks while context is fresh and keep accepted engineering debt visible and owned.
|
|
32
|
+
|
|
33
|
+
These themes inform the [AHEAD Engineering Practice](../../guide/engineering-practice.md). The Constitution adopts only the durable, technology-neutral principle that relevant quality attributes should be designed, bounded, and verified.
|
|
34
|
+
|
|
35
|
+
## Contextual techniques, not universal AHEAD rules
|
|
36
|
+
|
|
37
|
+
AHEAD does not generalize TigerStyle's concrete requirements to all software. Examples that remain contextual include:
|
|
38
|
+
|
|
39
|
+
- prohibiting recursion;
|
|
40
|
+
- allocating all memory at startup and prohibiting later allocation;
|
|
41
|
+
- preferring fixed-width integers over architecture-specific types in all cases;
|
|
42
|
+
- requiring a fixed assertion density;
|
|
43
|
+
- imposing exact function- or line-length limits;
|
|
44
|
+
- scheduling reactions to external events at fixed intervals;
|
|
45
|
+
- separating control and data planes through batching;
|
|
46
|
+
- avoiding serialization, copying, or movable data structures;
|
|
47
|
+
- requiring cache-line-aligned layouts;
|
|
48
|
+
- prohibiting third-party dependencies;
|
|
49
|
+
- standardizing all tooling on one language;
|
|
50
|
+
- mandating TigerBeetle's naming and formatting conventions.
|
|
51
|
+
|
|
52
|
+
These techniques may be excellent choices when justified by a system's risk, workload, language, hardware, fault model, and operating environment. AHEAD requires the reasoning and evidence to remain visible; it does not prescribe the answer in advance.
|
|
53
|
+
|
|
54
|
+
## Important limitations and tensions
|
|
55
|
+
|
|
56
|
+
- TigerStyle orders safety, performance, and developer experience for TigerBeetle. AHEAD treats quality priorities as contextual and human-owned.
|
|
57
|
+
- TigerStyle advocates “zero technical debt” and doing work right the first time. AHEAD instead requires material debt to be explicit, owned, contained, and revisited; it preserves experimentation and revisable decisions.
|
|
58
|
+
- TigerStyle often treats process termination as the correct response to a violated program invariant. AHEAD requires failure behavior to follow the system's fault model and blast radius.
|
|
59
|
+
- Early performance sketches can expose architectural constraints but do not replace representative measurement.
|
|
60
|
+
- Assertions, fuzzing, simulation, types, and tests can reveal defects but do not prove correctness or replace a maintained human mental model.
|
|
61
|
+
- The source reports TigerBeetle's own practice and has not been evaluated here through controlled comparison or independent replication.
|
|
62
|
+
|
|
63
|
+
## Resulting AHEAD decision
|
|
64
|
+
|
|
65
|
+
AHEAD cites TigerStyle as an E4 practitioner source, adapts selected technology-neutral themes, and labels concrete systems techniques as contextual. Future claims that a particular TigerStyle-derived rule should become mandatory require direct evidence, strong professional consensus, or favorable AHEAD pilot results under the evidence standard.
|
|
@@ -11,7 +11,8 @@ This is the starting point for people applying AHEAD to engineering work. These
|
|
|
11
11
|
3. [Acceptable AI use](acceptable-ai-use.md) defines binding authority boundaries.
|
|
12
12
|
4. [Engineering practice](engineering-practice.md) describes the habits AHEAD asks engineers to cultivate.
|
|
13
13
|
5. [Pilot workflows](workflows/README.md) explains how to choose and execute one of the six flows.
|
|
14
|
-
6. [
|
|
14
|
+
6. [Work items and planning handoffs](work-items.md) explains provider-neutral links, configurable gates, and sprint-ahead preparation.
|
|
15
|
+
7. [Recommended skills](recommended-skills.md) lists optional, reviewed third-party aids.
|
|
15
16
|
|
|
16
17
|
## Authority
|
|
17
18
|
|
|
@@ -10,7 +10,7 @@ AHEAD is not only a sequence of AI gates. It is a way of practicing engineering.
|
|
|
10
10
|
|
|
11
11
|
Many of these ideas come from practitioner literature rather than controlled experiments. The source type matters: a useful craft principle can guide work without being misrepresented as science.
|
|
12
12
|
|
|
13
|
-
The submitted notes include page-level references to *The Pragmatic Programmer*. Those locators are preserved in the [edition-specific page index](../evidence/sources/pragmatic-programmer-page-index.md) and grouped below so the distillation remains traceable to its source. Additional submitted tips, complete checklists, and practices are retained in the [submitted engineering notes](../evidence/sources/submitted-engineering-notes.md); the practice guide condenses them without replacing that source record.
|
|
13
|
+
The submitted notes include page-level references to *The Pragmatic Programmer*. Those locators are preserved in the [edition-specific page index](../evidence/sources/pragmatic-programmer-page-index.md) and grouped below so the distillation remains traceable to its source. Additional submitted tips, complete checklists, and practices are retained in the [submitted engineering notes](../evidence/sources/submitted-engineering-notes.md); the practice guide condenses them without replacing that source record. Selected systems-engineering practices are adapted from [TigerStyle](../evidence/sources/tigerstyle.md), with its infrastructure context and limits kept explicit.
|
|
14
14
|
|
|
15
15
|
## 1. Care about the craft and own the result
|
|
16
16
|
|
|
@@ -30,15 +30,15 @@ Basis: *The Pragmatic Programmer* tips 2 (p. xlx as submitted), 9 (p. 16), 27 (p
|
|
|
30
30
|
|
|
31
31
|
Requirements are discovered and refined, not merely received. Work with users and domain experts, use their language, identify the desired outcome, and separate real constraints from inherited habits.
|
|
32
32
|
|
|
33
|
-
Quality is contextual. Reliability, latency, accessibility, security, cost, maintainability, and delivery time do not have one universal ordering; accountable humans decide what the work requires.
|
|
33
|
+
Quality is contextual. Reliability, latency, accessibility, security, cost, maintainability, and delivery time do not have one universal ordering; accountable humans decide what the work requires. Consider the relevant qualities while shaping the design, when foundational assumptions are still inexpensive to change, rather than relying on inspection at the end.
|
|
34
34
|
|
|
35
|
-
Basis: requirements and traceability research, ISO/IEC/IEEE life-cycle standards,
|
|
35
|
+
Basis: requirements and traceability research, ISO/IEC/IEEE life-cycle standards, *The Pragmatic Programmer* tips 7 (p. 11), 17 (p. 58), 51 (p. 202), 52 (p. 204), 54 (p. 210), and 55 (p. 213), and TigerStyle's documented design practice. The priority and timing appropriate to one safety- and performance-sensitive system do not establish a universal ordering for other work.
|
|
36
36
|
|
|
37
37
|
## 4. Make reasoning visible
|
|
38
38
|
|
|
39
|
-
Record important assumptions, options, decisions, tradeoffs, evidence, uncertainty, and changes in understanding. Link intent to implementation and verification without creating documents that nobody uses.
|
|
39
|
+
Record important assumptions, options, decisions, tradeoffs, evidence, uncertainty, and changes in understanding. Link intent to implementation and verification without creating documents that nobody uses. Use domain-accurate names, include units and meaningful qualifiers where ambiguity would matter, and preserve the reasons behind non-obvious choices in durable repository artifacts.
|
|
40
40
|
|
|
41
|
-
Traceability should help future engineers understand why and where—not become compliance theater.
|
|
41
|
+
Traceability should help future engineers understand why and where—not become compliance theater. Optimize communication for the people who will repeatedly read, review, operate, diagnose, and change the system, not only for its first author.
|
|
42
42
|
|
|
43
43
|
Basis: controlled evidence that requirements-to-code traceability can improve maintenance-task performance, AHEAD's evidence standard, and *The Pragmatic Programmer* tips 10 (p. 21), 18 (p. 64), 19 (p. 69), 20 (p. 74), and 23 (p. 88).
|
|
44
44
|
|
|
@@ -46,6 +46,8 @@ Basis: controlled evidence that requirements-to-code traceability can improve ma
|
|
|
46
46
|
|
|
47
47
|
Choose designs that minimize the number of concepts a person must hold simultaneously. Keep unrelated concerns independently changeable. Make state explicit and contained. Keep policy distinct from mechanism. Prefer stable values, plain data, clear interfaces, and declarative rules when they fit the problem.
|
|
48
48
|
|
|
49
|
+
Treat interface quality as a system property: minimize unnecessary surface area, define failure semantics and fault models, avoid ambiguous parameters and return states, and keep state close to where it is checked and used. Do not rely silently on call ordering, timing, or defaults whose change would alter correctness.
|
|
50
|
+
|
|
49
51
|
Modularity is not automatically simplicity: separate modules can remain tightly coupled through hidden assumptions, timing, shared state, or required call order.
|
|
50
52
|
|
|
51
53
|
Basis: Rich Hickey's *Simple Made Easy* and *The Pragmatic Programmer* tips 11 (p. 27), 13 (p. 35), 36 (p. 140), 41 (p. 156), and 42 (p. 161). These are design heuristics, not universal experimental laws.
|
|
@@ -56,7 +58,9 @@ Decisions can be revised, so record their rationale, reversibility, and review t
|
|
|
56
58
|
|
|
57
59
|
Use a “rule of three” only as a prompt for judgment, not a mechanical law. Duplication of knowledge is more dangerous than superficially similar code; premature abstraction can couple cases that should evolve separately.
|
|
58
60
|
|
|
59
|
-
|
|
61
|
+
Address material design risks while the context is fresh. This does not require “zero technical debt” or pretending every first decision is final. When debt is accepted, make its rationale, consequences, owner, containment, and review or removal trigger visible so it does not become invisible or ownerless.
|
|
62
|
+
|
|
63
|
+
Basis: *The Pragmatic Programmer* tips 4 (p. 5), 12 (p. 33), 14 (p. 46), 47 (p. 186), and 53 (p. 209), plus TigerStyle's practitioner case for proactive design. The precise abstraction threshold and acceptable debt are context-dependent.
|
|
60
64
|
|
|
61
65
|
## 7. Prototype to learn
|
|
62
66
|
|
|
@@ -74,17 +78,29 @@ Use source control, shells, scripts, formatters, generators, CI, and other autom
|
|
|
74
78
|
|
|
75
79
|
Do not automate a process you cannot evaluate. Judge tools by the long-lived artifacts and operational behavior they produce, not only authoring convenience or initial speed.
|
|
76
80
|
|
|
77
|
-
|
|
81
|
+
Dependencies and tools carry lifecycle costs: supply-chain exposure, build and installation behavior, performance, operational complexity, team comprehension, maintenance, upgrades, and abandonment risk. Evaluate those costs in proportion to the dependency's criticality. Neither zero dependencies nor one standardized tool for every task is a universal goal.
|
|
82
|
+
|
|
83
|
+
Basis: *The Pragmatic Programmer* tips 21 (p. 80), 22 (p. 85), 28 (p. 100), 29 (p. 103), and 61 (p. 231), NIST secure-development guidance, AHEAD's Toyota analogy, and TigerStyle's documented dependency and tooling discipline.
|
|
78
84
|
|
|
79
85
|
## 9. Design for testing and failure
|
|
80
86
|
|
|
81
|
-
Think about verification before implementation. Define observable behavior, invariants, boundaries, significant states, failure modes, resource exhaustion, recovery, and performance expectations.
|
|
87
|
+
Think about verification before implementation. Define observable behavior, invariants, boundaries, significant states, failure modes, resource exhaustion, recovery, and performance expectations. Identify material limits on queues, retries, loops, concurrency, memory, storage, request sizes, and execution; a limit may be dynamic or operational, but the underlying resource is not infinite.
|
|
88
|
+
|
|
89
|
+
Build a mental model first, then encode important expectations through types, contracts, assertions, tests, runtime checks, or other appropriate defenses. Distinguish expected operating errors, which need defined handling, from violated program invariants. Whether an invariant violation should stop a process, isolate work, reject input, or degrade service depends on the fault model and blast radius.
|
|
90
|
+
|
|
91
|
+
Coverage is evidence about execution, not proof of correctness. Exercise expected and invalid states and transitions between them. Test the tests through mutation, fault injection, known negative cases, or other independent checks where proportionate. Assertions, fuzzing, static analysis, and types can expose defects; none substitutes for human understanding or proves their absence. When a defect is fixed, preserve a regression check when one can reliably express the failure.
|
|
92
|
+
|
|
93
|
+
Basis: software-testing research, *The Pragmatic Programmer* tips 30–35 (pp. 107–129), 48–50 (pp. 192–199), and 62–66 (pp. 237–247), and TigerStyle's documented use of explicit limits, executable invariants, and layered verification. Evidence for specific methods such as strict test-driven development is mixed and context-dependent; AHEAD does not mandate one universal test-writing order, assertion density, or failure response.
|
|
94
|
+
|
|
95
|
+
## 10. Estimate physical performance early and measure it later
|
|
96
|
+
|
|
97
|
+
When performance is material, make rough design-time estimates across network, storage, memory, and compute, considering both latency and bandwidth. Sketches are inexpensive ways to expose impossible assumptions, likely bottlenecks, and order-of-magnitude opportunities before architecture hardens.
|
|
82
98
|
|
|
83
|
-
|
|
99
|
+
Use the estimate to identify a relevant constraint, implement proportionately, and then measure in a representative environment. Revise the model when observations disagree. Batching, control- and data-plane separation, static allocation, cache-aware layout, and reduced copying or serialization are contextual techniques, not default AHEAD requirements.
|
|
84
100
|
|
|
85
|
-
Basis:
|
|
101
|
+
Basis: *The Pragmatic Programmer* tips 18 (p. 64), 45 (p. 180), and 46 (p. 182), and TigerStyle's documented performance-sketch practice. TigerStyle is a practitioner source from a specialized systems context, not controlled evidence that its techniques generalize to every system.
|
|
86
102
|
|
|
87
|
-
##
|
|
103
|
+
## 11. Debug with evidence, not confidence or blame
|
|
88
104
|
|
|
89
105
|
Do not panic, guess from the loudest log, or assume the platform is broken. Establish the observation, characterize it, build a mental model, generate hypotheses, predict discriminating results, test safely, and update the model.
|
|
90
106
|
|
|
@@ -92,7 +108,7 @@ Treat application code, dependencies, infrastructure, configuration, data, opera
|
|
|
92
108
|
|
|
93
109
|
Basis: direct empirical debugging and incident-response studies, plus *The Pragmatic Programmer* tips 24–27 (pp. 91–97) and debugging checklist (p. 98).
|
|
94
110
|
|
|
95
|
-
##
|
|
111
|
+
## 12. Review independently and communicate honestly
|
|
96
112
|
|
|
97
113
|
Review is a reasoning activity, not an approval button. Review the current artifact against intended behavior, architecture, risks, tests, operations, and maintainability. Automated and AI review add coverage; they do not replace accountable human judgment. A lasting engineering change requires review by a person other than the implementer; implementer self-review is still necessary, but it does not satisfy that independent gate.
|
|
98
114
|
|
|
@@ -100,7 +116,7 @@ Technical communication should be clear, audience-aware, and grounded in the aut
|
|
|
100
116
|
|
|
101
117
|
Basis: empirical code-review research, NIST generative-AI risk guidance, and *The Pragmatic Programmer* tips 3 (p. 3), 10 (p. 21), and 67–70 (pp. 248–258).
|
|
102
118
|
|
|
103
|
-
##
|
|
119
|
+
## 13. Learn continuously and measure the tools
|
|
104
120
|
|
|
105
121
|
Build breadth by learning new languages, paradigms, ecosystems, tools, and operational models. Reimplementing a small system in contrasting languages can reveal how type systems, concurrency models, package managers, and idioms change design choices.
|
|
106
122
|
|
|
@@ -117,6 +133,8 @@ Before implementation:
|
|
|
117
133
|
- What is the simplest model of the problem?
|
|
118
134
|
- Which concerns can vary independently?
|
|
119
135
|
- What must remain invariant?
|
|
136
|
+
- Which limits, resource budgets, and fault-model assumptions are material?
|
|
137
|
+
- If performance matters, what do rough network, storage, memory, and compute estimates predict?
|
|
120
138
|
- How will we know the change works and fails safely?
|
|
121
139
|
- Are we prototyping to learn or building production code?
|
|
122
140
|
- If this is a disposable prototype, what is its learning question, isolation boundary, and disposal date?
|
|
@@ -126,6 +144,7 @@ Before accepting AI-assisted work:
|
|
|
126
144
|
- Can the responsible engineer explain and change it?
|
|
127
145
|
- Did the AI define behavior that a human should own?
|
|
128
146
|
- Are claims, sources, dependencies, and commands verified?
|
|
147
|
+
- Were added dependencies and tools evaluated for lifecycle and supply-chain cost?
|
|
129
148
|
- Did AI-generated tests inherit the implementation's assumptions?
|
|
130
149
|
- Was sensitive context authorized for the selected tool?
|
|
131
150
|
- Has a person other than the implementer independently reviewed every lasting engineering change, with additional specialist review proportionate to risk?
|
|
@@ -135,6 +154,8 @@ Before merge or delivery:
|
|
|
135
154
|
- Does the change trace to the approved problem and decision?
|
|
136
155
|
- Are tests meaningful, current, and capable of failing?
|
|
137
156
|
- Are failure, rollback, observation, and recovery understood?
|
|
157
|
+
- Are material limits and invariants implemented and independently exercised?
|
|
158
|
+
- Were relevant performance assumptions compared with representative measurements?
|
|
138
159
|
- Did review examine system behavior rather than only style?
|
|
139
160
|
- Is the documentation close enough to the system to remain accurate?
|
|
140
161
|
- What accepted uncertainty or follow-up remains?
|
|
@@ -148,6 +169,7 @@ These are recommended practitioner sources, not scientific proof of AHEAD:
|
|
|
148
169
|
- Luca Palmieri, [*Zero To Production In Rust*](https://www.zero2prod.com/), ISBN 9798847211437. This is a concrete production-backend learning path rather than a general philosophy source.
|
|
149
170
|
- Richard Hamming, [*The Art of Doing Science and Engineering: Learning to Learn*](https://press.stripe.com/the-art-of-doing-science-and-engineering), ISBN 9781732265172.
|
|
150
171
|
- Rich Hickey, [*Simple Made Easy*](https://www.youtube.com/watch?v=SxdOUGdseq4), Strange Loop 2011.
|
|
172
|
+
- TigerBeetle, [*TigerStyle*](https://tigerstyle.dev/). AHEAD adapts selected systems-engineering practices while keeping their specialized context and limitations explicit in the [source record](../evidence/sources/tigerstyle.md).
|
|
151
173
|
|
|
152
174
|
## Research sources
|
|
153
175
|
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Work Items and Planning Handoffs
|
|
2
|
+
|
|
3
|
+
Audience: AHEAD practitioners
|
|
4
|
+
|
|
5
|
+
Status: pilot v0.1
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
A work item is the team's coordination surface: a GitHub issue, Jira issue, Azure Boards item, Linear issue, or another durable URL. AHEAD owns the workflow state, evidence chain, human gates, and resumable handoff. Linking the two avoids making either system pretend to be the other.
|
|
10
|
+
|
|
11
|
+
A work item is optional unless the repository's AHEAD configuration requires one. Labels and issue templates may inform workflow selection, but the human still chooses the flow by its dominant outcome.
|
|
12
|
+
|
|
13
|
+
## Existing and new work items
|
|
14
|
+
|
|
15
|
+
An AHEAD run may link an existing work-item URL at startup or later. The link is provider-neutral and visible in the active header. Pi can also create a GitHub issue in the current repository after a human reviews its body, including any available approved plan, and explicitly confirms the external write. Creating, replacing, or linking a work item is always a human-attributed action.
|
|
16
|
+
|
|
17
|
+
The work item may summarize or link the approved outcome, decision, and plan. It does not replace the AHEAD run record, and AHEAD does not silently rewrite it as the workflow changes.
|
|
18
|
+
|
|
19
|
+
## Configurable boundary
|
|
20
|
+
|
|
21
|
+
A repository may add `.ahead/config.json` and require a work item before a selected phase in each workflow:
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"api_version": "ahead.config/v0",
|
|
26
|
+
"work_items": {
|
|
27
|
+
"required_before_phase": {
|
|
28
|
+
"product-change": "implement",
|
|
29
|
+
"corrective-debugging": "implement",
|
|
30
|
+
"internal-improvement": "implement",
|
|
31
|
+
"decision": "publish",
|
|
32
|
+
"investigation": "conclude",
|
|
33
|
+
"operational-stabilization": "outcome"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
The map is deliberately explicit. A team may configure only the flows it uses, choose a different phase, or omit the file entirely. Operational teams should place the boundary after urgent stabilization if creating a work item first could delay safe recovery.
|
|
40
|
+
|
|
41
|
+
The resolved requirement is copied into each new run. Later configuration changes do not silently change an active or saved run's gates.
|
|
42
|
+
|
|
43
|
+
## Project setup and configuration changes
|
|
44
|
+
|
|
45
|
+
When Pi starts new AHEAD work in a project with no `.ahead/config.json`, it offers to run a setup wizard or continue without project policy. Run `/ahead-config` at any time to:
|
|
46
|
+
|
|
47
|
+
- choose AHEAD's recommended planning boundaries;
|
|
48
|
+
- choose a different boundary for each workflow;
|
|
49
|
+
- explicitly make work items optional for every workflow;
|
|
50
|
+
- view the current configuration; or
|
|
51
|
+
- rerun the wizard to replace an existing or unsupported configuration.
|
|
52
|
+
|
|
53
|
+
Replacement is deliberate and confirmed. Before writing the current schema, AHEAD copies the exact prior file to `.ahead/backups/`, including an invalid file or one with an unsupported API version. This provides a recoverable configuration-migration path without guessing how old policy should map to new semantics. Existing and explicitly saved runs keep their original policy snapshot.
|
|
54
|
+
|
|
55
|
+
## Sprint-ahead planning
|
|
56
|
+
|
|
57
|
+
For work planned before implementation:
|
|
58
|
+
|
|
59
|
+
1. Start AHEAD with the work-item URL, or link/create the item during the run.
|
|
60
|
+
2. Complete the selected workflow through its human-approved plan.
|
|
61
|
+
3. Satisfy the configured work-item boundary and enter `implement`.
|
|
62
|
+
4. Save the ready-to-implement handoff instead of beginning implementation.
|
|
63
|
+
5. In the later sprint, the implementing engineer resumes the same run and inherits the approved evidence, decisions, plan, link, and open implementation gate.
|
|
64
|
+
|
|
65
|
+
Saving this handoff is an explicit human choice. It is not workflow completion, and it does not claim that implementation, review, deployment, or verification occurred.
|
|
@@ -75,6 +75,7 @@ modifiers:
|
|
|
75
75
|
assurance: standard | security | regulated | safety-critical
|
|
76
76
|
environment: local | test | staging | production | external
|
|
77
77
|
links: []
|
|
78
|
+
work_item: optional provider-neutral URL
|
|
78
79
|
```
|
|
79
80
|
|
|
80
81
|
The body records only the sections required by the selected flow. Evidence may remain in its native system and be linked rather than copied.
|
|
@@ -7,11 +7,13 @@
|
|
|
7
7
|
"docs/evidence/research-map.md",
|
|
8
8
|
"docs/evidence/sources/pragmatic-programmer-page-index.md",
|
|
9
9
|
"docs/evidence/sources/submitted-engineering-notes.md",
|
|
10
|
+
"docs/evidence/sources/tigerstyle.md",
|
|
10
11
|
"docs/guide/README.md",
|
|
11
12
|
"docs/guide/acceptable-ai-use.md",
|
|
12
13
|
"docs/guide/engineering-practice.md",
|
|
13
14
|
"docs/guide/rationale.md",
|
|
14
15
|
"docs/guide/recommended-skills.md",
|
|
16
|
+
"docs/guide/work-items.md",
|
|
15
17
|
"docs/guide/workflows/README.md",
|
|
16
18
|
"docs/guide/workflows/corrective-debugging.md",
|
|
17
19
|
"docs/guide/workflows/decision.md",
|
|
@@ -111,6 +113,19 @@
|
|
|
111
113
|
"*"
|
|
112
114
|
]
|
|
113
115
|
},
|
|
116
|
+
{
|
|
117
|
+
"id": "evidence:sources:tigerstyle",
|
|
118
|
+
"path": "docs/evidence/sources/tigerstyle.md",
|
|
119
|
+
"title": "TigerStyle Practitioner Source",
|
|
120
|
+
"summary": "[TigerStyle](https://tigerstyle.dev/) is TigerBeetle's published software-engineering methodology for advancing safety, performance, and developer experience in its distributed financial database. TigerBeetle is both the author of the sourc",
|
|
121
|
+
"audience": "evidence",
|
|
122
|
+
"authority": "supporting",
|
|
123
|
+
"distribution": "agent-and-human",
|
|
124
|
+
"phases": [],
|
|
125
|
+
"workflows": [
|
|
126
|
+
"*"
|
|
127
|
+
]
|
|
128
|
+
},
|
|
114
129
|
{
|
|
115
130
|
"id": "guide",
|
|
116
131
|
"path": "docs/guide/README.md",
|
|
@@ -184,6 +199,19 @@
|
|
|
184
199
|
"*"
|
|
185
200
|
]
|
|
186
201
|
},
|
|
202
|
+
{
|
|
203
|
+
"id": "work-items",
|
|
204
|
+
"path": "docs/guide/work-items.md",
|
|
205
|
+
"title": "Work Items and Planning Handoffs",
|
|
206
|
+
"summary": "A work item is the team's coordination surface: a GitHub issue, Jira issue, Azure Boards item, Linear issue, or another durable URL. AHEAD owns the workflow state, evidence chain, human gates, and resumable handoff. Linking the two avoids m",
|
|
207
|
+
"audience": "practitioner",
|
|
208
|
+
"authority": "guidance",
|
|
209
|
+
"distribution": "agent-and-human",
|
|
210
|
+
"phases": [],
|
|
211
|
+
"workflows": [
|
|
212
|
+
"*"
|
|
213
|
+
]
|
|
214
|
+
},
|
|
187
215
|
{
|
|
188
216
|
"id": "workflows",
|
|
189
217
|
"path": "docs/guide/workflows/README.md",
|