@laitszkin/apollo-toolkit 3.8.2 → 3.8.4

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.
Files changed (32) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/align-project-documents/SKILL.md +136 -130
  3. package/align-project-documents/agents/openai.yaml +2 -2
  4. package/align-project-documents/references/templates/standardized-docs-template.md +119 -0
  5. package/analyse-app-logs/scripts/__pycache__/filter_logs_by_time.cpython-312.pyc +0 -0
  6. package/analyse-app-logs/scripts/__pycache__/log_cli_utils.cpython-312.pyc +0 -0
  7. package/analyse-app-logs/scripts/__pycache__/search_logs.cpython-312.pyc +0 -0
  8. package/archive-specs/README.md +12 -25
  9. package/archive-specs/SKILL.md +24 -47
  10. package/archive-specs/agents/openai.yaml +2 -2
  11. package/archive-specs/references/templates/architecture.md +13 -21
  12. package/archive-specs/references/templates/docs-index.md +24 -24
  13. package/archive-specs/references/templates/features.md +18 -18
  14. package/archive-specs/references/templates/principles.md +28 -0
  15. package/archive-specs/references/templates/readme.md +4 -13
  16. package/docs-to-voice/scripts/__pycache__/docs_to_voice.cpython-312.pyc +0 -0
  17. package/generate-spec/SKILL.md +10 -12
  18. package/generate-spec/references/templates/checklist.md +33 -88
  19. package/generate-spec/scripts/__pycache__/create-specscpython-312.pyc +0 -0
  20. package/katex/scripts/__pycache__/render_katex.cpython-312.pyc +0 -0
  21. package/maintain-project-constraints/SKILL.md +90 -88
  22. package/maintain-project-constraints/agents/openai.yaml +2 -2
  23. package/open-github-issue/scripts/__pycache__/open_github_issue.cpython-312.pyc +0 -0
  24. package/package.json +1 -1
  25. package/read-github-issue/scripts/__pycache__/find_issues.cpython-312.pyc +0 -0
  26. package/read-github-issue/scripts/__pycache__/read_issue.cpython-312.pyc +0 -0
  27. package/resolve-review-comments/scripts/__pycache__/review_threads.cpython-312.pyc +0 -0
  28. package/text-to-short-video/scripts/__pycache__/enforce_video_aspect_ratio.cpython-312.pyc +0 -0
  29. package/align-project-documents/references/templates/category-based-project-docs-template.md +0 -170
  30. package/archive-specs/references/templates/configuration.md +0 -29
  31. package/archive-specs/references/templates/developer-guide.md +0 -33
  32. package/archive-specs/references/templates/getting-started.md +0 -38
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "archive-specs"
3
- short_description: "Convert completed specs into project docs and archive the consumed plans"
4
- default_prompt: "Use $archive-specs to inventory the project's spec.md/tasks.md/checklist.md/contract.md/design.md files plus any batch-level coordination.md, reconcile them with the current repository, use coordination.md to understand shared preparation and legacy-replacement direction across parallel plan sets, rewrite existing project docs into a standardized categorized structure when needed, generate or update a concise README plus split project docs for getting started, configuration, architecture, features, and developer guidance, maintain a docs/README.md reference list, then archive the consumed source plans after successful conversion, deleting them only when the repository clearly does not need historical retention and keeping coordination.md active while any spec set still depends on it."
3
+ short_description: "Convert completed specs into standardized project docs and archive the consumed plans"
4
+ default_prompt: "Use $archive-specs to inventory the project's spec.md/tasks.md/checklist.md/contract.md/design.md files plus any batch-level coordination.md, reconcile them with the current repository, use coordination.md to understand shared preparation and legacy-replacement direction across parallel plan sets, delegate documentation generation to align-project-documents which produces standardized docs under docs/features/ (BDD user-facing features), docs/architecture/ (macro-level design principles), and docs/principles/ (code conventions and constraints), then delegate AGENTS.md/CLAUDE.md refresh to maintain-project-constraints which writes business goals, common commands, and the project documentation index. Archive the consumed source plans after successful conversion, deleting them only when the repository clearly does not need historical retention and keeping coordination.md active while any spec set still depends on it."
@@ -1,29 +1,21 @@
1
- # Architecture
1
+ # <模組/層名稱> 設計原則
2
2
 
3
- ## 1. High-Level Structure
3
+ [One-sentence summary of this module's role in the system.]
4
4
 
5
- - Entry points: [CLI/server/app/worker]
6
- - Major modules: [module names and responsibilities]
7
- - Data flow summary: [request/event/job flow]
8
- - Integration boundaries: [DB/API/queue/filesystem]
5
+ ## <原則標題>
9
6
 
10
- ## 2. Directory Guide
7
+ <原則描述:這條原則規範什麼、為什麼這樣設計、適用範圍>
11
8
 
12
- | Path | Responsibility |
13
- | --- | --- |
14
- | `[path]` | [What lives here] |
15
- | `[path]` | [What lives here] |
9
+ ## <原則標題>
16
10
 
17
- ## 3. Key Flows
11
+ <原則描述>
18
12
 
19
- ### [Flow Name]
20
- - Trigger: [route/command/job]
21
- - Main steps: [step summary]
22
- - Dependencies: [internal/external]
23
- - Failure boundaries: [where failures surface]
13
+ ---
24
14
 
25
- ## 4. Operational Notes
15
+ ## Writing Rules
26
16
 
27
- - State/storage model: [DB/files/cache/queue]
28
- - Concurrency or ordering concerns: [if any]
29
- - Observability entrypoints: [logs/metrics/traces/dashboards]
17
+ - State design principles, not implementation details.
18
+ - Keep each principle macro-level so it survives minor code changes.
19
+ - Focus on: module responsibilities, boundary rules, data flow direction, and integration contracts.
20
+ - Each file covers one module or architectural layer.
21
+ - Before writing a principle, ask: "Would a refactor that renames files or extracts a helper violate this principle?" If yes, the principle is too specific.
@@ -1,35 +1,35 @@
1
- # [Project Name] Documentation
1
+ # [Project Name] Documentation Index
2
2
 
3
- ## Start Here
3
+ ## Features (`docs/features/`)
4
4
 
5
- - Project overview: `README.md`
6
- - Setup and deployment: `docs/getting-started.md`
7
- - Configuration and external services: `docs/configuration.md`
8
- - Architecture: `docs/architecture.md`
9
- - Features and workflows: `docs/features.md`
10
- - Developer guide: `docs/developer-guide.md`
5
+ User-facing capabilities described with BDD scenarios (Given/When/Then). Each file covers one functional category.
11
6
 
12
- ## Document Guide
7
+ | File | Category | Description |
8
+ | --- | --- | --- |
9
+ | `docs/features/[category].md` | [category name] | [One-line description] |
13
10
 
14
- ### Getting Started
15
- - Audience: [operators / developers / both]
16
- - Covers: installation, prerequisites, local run, deployment flow
11
+ ## Architecture (`docs/architecture/`)
17
12
 
18
- ### Configuration
19
- - Audience: [operators / developers / both]
20
- - Covers: env vars, config files, secrets, external services, API key setup
13
+ Macro-level design principles organized by module or layer. Each principle is abstract enough to survive minor code changes.
21
14
 
22
- ### Architecture
23
- - Audience: [developers / maintainers]
24
- - Covers: system boundaries, module responsibilities, data flow, key directories
15
+ | File | Module | Description |
16
+ | --- | --- | --- |
17
+ | `docs/architecture/[module].md` | [module name] | [One-line description] |
25
18
 
26
- ### Features
27
- - Audience: [users / support / developers]
28
- - Covers: major workflows, entrypoints, user value, important edge cases
19
+ ## Principles (`docs/principles/`)
29
20
 
30
- ### Developer Guide
31
- - Audience: [developers / maintainers]
32
- - Covers: domain concepts, risk hotspots, testing expectations, debugging entrypoints
21
+ Code style, naming conventions, and development constraints extracted from the codebase.
22
+
23
+ | File | Topic | Description |
24
+ | --- | --- | --- |
25
+ | `docs/principles/[topic].md` | [topic name] | [One-line description] |
26
+
27
+ ## Root Documents
28
+
29
+ - `README.md` — project overview and quick start
30
+ - `CONTRIBUTING.md` — contribution workflow (if applicable)
31
+ - `SECURITY.md` — vulnerability reporting (if applicable)
32
+ - `CHANGELOG.md` — release history (if applicable)
33
33
 
34
34
  ## Reference List
35
35
 
@@ -1,25 +1,25 @@
1
- # Features
1
+ # <功能類別名稱>
2
2
 
3
- ## 1. Feature Summary
3
+ [One-sentence summary of this functional category from a user perspective.]
4
4
 
5
- - Supported user workflows: [short list]
6
- - Primary entrypoints: [routes/pages/commands/jobs]
7
- - Notable limitations or guardrails: [if any]
5
+ ## <功能名稱>
8
6
 
9
- ## 2. Feature Details
7
+ - **Given** <前置條件>
8
+ - **When** <使用者操作>
9
+ - **Then** <預期結果>
10
10
 
11
- ### [Feature or Workflow Name]
11
+ ## <功能名稱>
12
12
 
13
- - User value: [Why it matters]
14
- - Trigger or entrypoint: [route/command/page/job]
15
- - Core flow: [happy path summary]
16
- - Edge or failure notes: [important caveats]
17
- - Evidence: [spec/code/doc path]
13
+ - **Given** <前置條件>
14
+ - **When** <使用者操作>
15
+ - **Then** <預期結果>
18
16
 
19
- ### [Feature or Workflow Name]
17
+ ---
20
18
 
21
- - User value: [Why it matters]
22
- - Trigger or entrypoint: [route/command/page/job]
23
- - Core flow: [happy path summary]
24
- - Edge or failure notes: [important caveats]
25
- - Evidence: [spec/code/doc path]
19
+ ## Writing Rules
20
+
21
+ - Describe behavior from a user's perspective; never mention file paths, function names, or database tables.
22
+ - Use BDD phrasing: **Given** (precondition) → **When** (action) → **Then** (outcome).
23
+ - Each file covers exactly one functional category (e.g., authentication, data export, notifications).
24
+ - Group related features under descriptive subheadings.
25
+ - Title the file with a term users would recognize, not a module name.
@@ -0,0 +1,28 @@
1
+ # <慣例類別>
2
+
3
+ [One-sentence summary of what this convention area covers.]
4
+
5
+ ## <慣例名稱>
6
+
7
+ <慣例描述>
8
+
9
+ **理由**: <為什麼採用此慣例>
10
+
11
+ **範例**: <從代碼庫提取的具體範例>
12
+
13
+ ## <慣例名稱>
14
+
15
+ <慣例描述>
16
+
17
+ **理由**: <為什麼採用此慣例>
18
+
19
+ **範例**: <從代碼庫提取的具體範例>
20
+
21
+ ---
22
+
23
+ ## Writing Rules
24
+
25
+ - Each file covers one convention area (e.g., naming, coding style, dependency management, error handling, testing).
26
+ - State the convention clearly.
27
+ - Provide rationale traceable to the codebase.
28
+ - Include a brief example from the codebase, not an invented one.
@@ -29,20 +29,11 @@
29
29
 
30
30
  ## Documentation
31
31
 
32
- - Project docs index: `docs/README.md`
33
- - Setup and deployment: `docs/getting-started.md`
34
- - Configuration: `docs/configuration.md`
35
- - Architecture: `docs/architecture.md`
36
- - Features: `docs/features.md`
37
- - Developer guide: `docs/developer-guide.md`
32
+ Detailed documentation is available under `docs/` and indexed in `AGENTS.md`/`CLAUDE.md`:
38
33
 
39
- ## Main Features
40
-
41
- ### [Feature Area 1]
42
- [Short explanation of the user-facing value and the main flow.]
43
-
44
- ### [Feature Area 2]
45
- [Short explanation of the user-facing value and the main flow.]
34
+ - **Features** (`docs/features/`): user-facing capabilities described with BDD scenarios
35
+ - **Architecture** (`docs/architecture/`): macro-level design principles by module
36
+ - **Principles** (`docs/principles/`): code style, naming conventions, and development constraints
46
37
 
47
38
  ## Notes
48
39
 
@@ -29,8 +29,7 @@ Own the shared planning-doc lifecycle for feature work so other skills can reuse
29
29
 
30
30
  - Confirm the target workspace root, feature name, and a kebab-case `change_name`.
31
31
  - Review only the code, configuration, and external docs needed to understand the requested behavior.
32
- - If the change depends on frameworks, libraries, SDKs, APIs, CLIs, hosted services, or other external systems, find and read the relevant official documentation before drafting requirements.
33
- - Treat official documentation lookup as mandatory evidence gathering, not an optional refinement step.
32
+ - **Official documentation lookup is mandatory** when the change depends on frameworks, libraries, SDKs, APIs, CLIs, hosted services, or other external systems. This is a required evidence-gathering step, not an optional refinement.
34
33
  - Use the official docs to verify expected behavior, supported constraints, configuration surface, integration contracts, and any implementation limits that should shape the spec.
35
34
  - Record the references that should appear in `spec.md` and the dependency evidence that should appear in `contract.md`.
36
35
  - Inspect existing `docs/plans/` directories before deciding whether to edit an existing plan set.
@@ -147,16 +146,15 @@ Own the shared planning-doc lifecycle for feature work so other skills can reuse
147
146
 
148
147
  ### 7) Fill `checklist.md`
149
148
 
150
- - Use checkbox format `- [ ]` for checklist items, except structured placeholder fields that are intentionally left for later fill-in.
151
- - Treat the template as a starting point and adapt it to the actual scope.
152
- - Remove or rewrite template examples that are not part of the real plan instead of leaving them as fake work to be checked later.
153
- - Map observable behaviors to requirement IDs and real test case IDs.
154
- - Use `$test-case-strategy` to choose the smallest test level that proves each risk and to define meaningful oracles before implementation.
155
- - Record risk class, oracle/assertion focus, dependency strategy, and test results.
156
- - Property-based coverage is required for business-logic changes unless a concrete `N/A` reason is recorded.
157
- - For decision sections, create as many records as needed for distinct flows or risk slices; do not collapse unrelated decisions into one record.
158
- - Within each decision record, keep only the selected strategy or clearly mark the non-selected path as `N/A`; never treat mutually exclusive choices inside one record as multiple completed outcomes.
159
- - For completion-summary sections, create as many completion records as needed for distinct flows, requirement groups, or workstreams; do not force the whole spec into a single completion line when different parts finish differently.
149
+ - Use checkbox format `- [ ]` for checklist items.
150
+ - Adapt the template to actual scope; remove inapplicable items.
151
+ - Map observable behaviors to requirement IDs and test case IDs using `$test-case-strategy`.
152
+ - Each Behavior-to-Test item: `[CL-xx]: [behavior] R?.? [Test IDs] — Result: [status]`.
153
+ - Property-based coverage required for business-logic changes unless `N/A` with concrete reason.
154
+ - Hardening items: keep as single-line checkboxes with `N/A` + reason when not applicable.
155
+ - E2E/Integration decisions: one checkbox per decision with inline reason.
156
+ - Execution summary: one checkbox per test category with status.
157
+ - Completion records: one checkbox per flow/group with status and remaining items.
160
158
 
161
159
  ### 8) Process clarifications and approval
162
160
 
@@ -4,104 +4,49 @@
4
4
  - Feature: [Feature Name]
5
5
 
6
6
  ## Usage Notes
7
- - This checklist is a starter template. Add, remove, or rewrite items based on actual scope.
8
- - Use `- [ ]` for all items; mark completed items as `- [x]`.
9
- - The final completion summary section may use structured placeholders instead of checkboxes.
10
- - If an item is not applicable, keep `N/A` with a concrete reason.
11
- - Do not mark placeholder examples or mutually exclusive alternatives as completed unless they were actually selected and executed.
12
- - Duplicate or remove decision-record blocks as needed; the final document should contain as many records as the real change requires.
13
- - Duplicate or remove completion-record blocks as needed; the final document should contain as many records as the real change requires.
14
- - Suggested test result values: `PASS / FAIL / BLOCKED / NOT RUN / N/A`.
15
- - Use `$test-case-strategy` to choose test levels, define meaningful oracles, and record unit drift checks for atomic tasks.
16
- - For business-logic changes, property-based coverage is required unless a concrete `N/A` reason is recorded.
17
- - Each checklist item should map to a distinct risk; avoid repeating shallow happy-path cases.
18
7
 
19
- ## Clarification & Approval Gate (required when clarification replies exist)
20
- - [ ] User clarification responses are recorded (map to `spec.md`; if none, mark `N/A`).
21
- - [ ] Affected plans are reviewed/updated (`spec.md` / `tasks.md` / `checklist.md` / `contract.md` / `design.md`; if no updates needed, mark `N/A` + reason).
22
- - [ ] Explicit user approval on updated specs is obtained (date/conversation reference: [to be filled]).
8
+ - Add/remove items based on actual scope; keep only applicable items.
9
+ - Use `$test-case-strategy` for test level selection, oracle design, and drift-check planning.
10
+ - Property-based coverage required for business-logic changes unless `N/A` with reason.
11
+ - Test result values: `PASS / FAIL / BLOCKED / NOT RUN / N/A`.
23
12
 
24
- ## Behavior-to-Test Checklist (customizable)
13
+ ## Clarification & Approval Gate
25
14
 
26
- - [ ] CL-01 [Observable behavior]
27
- - Requirement mapping: [R1.x]
28
- - Actual test case IDs: [UT/PBT/IT/E2E-xx]
29
- - Test level: [Unit / Property-based / Integration / E2E]
30
- - Risk class: [boundary / authorization / concurrency / external failure / data integrity / adversarial abuse / regression]
31
- - Property/matrix focus: [invariant / generated business input space / external state matrix / adversarial case]
32
- - External dependency strategy: [none / mocked service states / near-real dependency]
33
- - Oracle/assertion focus: [exact output / persisted state / side effects / no partial write / compensation / emitted event / permission denial]
34
- - Unit drift check: [UT-xx target unit; expected result/assertion, or N/A with reason]
35
- - Test result: `PASS / FAIL / BLOCKED / NOT RUN / N/A`
36
- - Notes (optional): [risk, limitation, observation]
15
+ - [ ] Clarification responses recorded (or `N/A` if none).
16
+ - [ ] Affected plans updated after clarification (or `N/A` + reason).
17
+ - [ ] Explicit approval obtained (date/ref: [to be filled]).
37
18
 
38
- - [ ] CL-02 [Observable behavior]
39
- - Requirement mapping: [R?.?]
40
- - Actual test case IDs: [UT/PBT/IT/E2E-xx]
41
- - Test level: [Unit / Property-based / Integration / E2E]
42
- - Risk class: [boundary / authorization / concurrency / external failure / data integrity / adversarial abuse / regression]
43
- - Property/matrix focus: [invariant / generated business input space / external state matrix / adversarial case]
44
- - External dependency strategy: [none / mocked service states / near-real dependency]
45
- - Oracle/assertion focus: [exact output / persisted state / side effects / no partial write / compensation / emitted event / permission denial]
46
- - Unit drift check: [UT-xx target unit; expected result/assertion, or N/A with reason]
47
- - Test result: `PASS / FAIL / BLOCKED / NOT RUN / N/A`
48
- - Notes (optional): [risk, limitation, observation]
19
+ ## Behavior-to-Test Checklist
49
20
 
50
- - [ ] CL-03 [Observable behavior]
51
- - Requirement mapping: [R?.?]
52
- - Actual test case IDs: [UT/PBT/IT/E2E-xx]
53
- - Test level: [Unit / Property-based / Integration / E2E]
54
- - Risk class: [boundary / authorization / concurrency / external failure / data integrity / adversarial abuse / regression]
55
- - Property/matrix focus: [invariant / generated business input space / external state matrix / adversarial case]
56
- - External dependency strategy: [none / mocked service states / near-real dependency]
57
- - Oracle/assertion focus: [exact output / persisted state / side effects / no partial write / compensation / emitted event / permission denial]
58
- - Unit drift check: [UT-xx target unit; expected result/assertion, or N/A with reason]
59
- - Test result: `PASS / FAIL / BLOCKED / NOT RUN / N/A`
60
- - Notes (optional): [risk, limitation, observation]
21
+ - [ ] CL-01: [Observable behavior] — R?.? → [Test IDs] — Result: `[status]`
22
+ - [ ] CL-02: [Observable behavior] — R?.? → [Test IDs] — Result: `[status]`
23
+ - [ ] CL-03: [Observable behavior] — R?.? → [Test IDs] — Result: `[status]`
61
24
 
62
- ## Required Hardening Records
63
- - [ ] Regression tests are added/updated for bug-prone or high-risk behavior, or `N/A` is recorded with a concrete reason.
64
- - [ ] Focused unit drift checks are defined for non-trivial atomic implementation tasks, or `N/A` is recorded with the replacement verification and concrete reason.
65
- - [ ] Property-based coverage is added/updated for changed business logic, or `N/A` is recorded with a concrete reason.
66
- - [ ] External services in the business logic chain are mocked/faked for scenario testing, or `N/A` is recorded with a concrete reason.
67
- - [ ] Adversarial/penetration-style cases are added/updated for abuse paths and edge combinations, or `N/A` is recorded with a concrete reason.
68
- - [ ] Authorization, invalid transition, replay/idempotency, and concurrency risks are evaluated; uncovered items are marked `N/A` with concrete reasons.
69
- - [ ] Assertions verify business outcomes and side effects/no-side-effects, not only "returns 200" or "does not throw".
70
- - [ ] Test fixtures are reproducible (fixed seed/clock/fixtures) or `N/A` is recorded with a concrete reason.
25
+ ## Hardening Checklist
71
26
 
72
- ## E2E / Integration Decision Records
27
+ - [ ] Regression tests for bug-prone/high-risk behavior (or `N/A` + reason).
28
+ - [ ] Unit drift checks for non-trivial tasks (or `N/A` + reason).
29
+ - [ ] Property-based coverage for business logic (or `N/A` + reason).
30
+ - [ ] External services mocked/faked (or `N/A` + reason).
31
+ - [ ] Adversarial cases for abuse paths (or `N/A` + reason).
32
+ - [ ] Authorization, idempotency, concurrency risks evaluated (or `N/A` + reason).
33
+ - [ ] Assertions verify outcomes/side-effects, not just "returns 200".
34
+ - [ ] Fixtures reproducible (fixed seed/clock) (or `N/A` + reason).
73
35
 
74
- ### Decision Record 1: [Flow / Requirement / Risk Slice]
75
- - Requirement mapping: [R?.? / CL-xx]
76
- - Decision: [Build E2E / Cover with integration instead / Existing coverage already sufficient / N/A]
77
- - Linked case IDs: [E2E-xx / IT-xx / existing suite reference]
78
- - Reason: [importance, cross-layer risk, stability/cost tradeoff, or why no extra coverage is needed]
36
+ ## E2E / Integration Decisions
79
37
 
80
- ### Decision Record 2: [Flow / Requirement / Risk Slice]
81
- - Requirement mapping: [R?.? / CL-xx]
82
- - Decision: [Build E2E / Cover with integration instead / Existing coverage already sufficient / N/A]
83
- - Linked case IDs: [E2E-xx / IT-xx / existing suite reference]
84
- - Reason: [importance, cross-layer risk, stability/cost tradeoff, or why no extra coverage is needed]
38
+ - [ ] [Flow/Risk]: [E2E / Integration replacement / Existing coverage / N/A] — Reason: [why]
85
39
 
86
- ## Execution Summary (fill with actual results)
87
- - [ ] Unit tests: `PASS / FAIL / NOT RUN / N/A`
88
- - [ ] Regression tests: `PASS / FAIL / NOT RUN / N/A`
89
- - [ ] Property-based tests: `PASS / FAIL / NOT RUN / N/A`
90
- - [ ] Integration tests: `PASS / FAIL / NOT RUN / N/A`
91
- - [ ] E2E tests: `PASS / FAIL / NOT RUN / N/A`
92
- - [ ] External service mock scenarios: `PASS / FAIL / NOT RUN / N/A`
93
- - [ ] Adversarial/penetration-style cases: `PASS / FAIL / NOT RUN / N/A`
40
+ ## Execution Summary
94
41
 
95
- ## Completion Records
42
+ - [ ] Unit: `[status]`
43
+ - [ ] Regression: `[status]`
44
+ - [ ] Property-based: `[status]`
45
+ - [ ] Integration: `[status]`
46
+ - [ ] E2E: `[status]`
47
+ - [ ] Mock scenarios: `[status]`
48
+ - [ ] Adversarial: `[status]`
96
49
 
97
- ### Completion Record 1: [Flow / Requirement Group / Workstream]
98
- - Requirement mapping: [R?.? / Task N / CL-xx]
99
- - Completion status: [completed / partially completed / blocked / deferred]
100
- - Remaining applicable items: [None / list remaining items]
101
- - Notes: [brief execution-backed summary]
50
+ ## Completion Records
102
51
 
103
- ### Completion Record 2: [Flow / Requirement Group / Workstream]
104
- - Requirement mapping: [R?.? / Task N / CL-xx]
105
- - Completion status: [completed / partially completed / blocked / deferred]
106
- - Remaining applicable items: [None / list remaining items]
107
- - Notes: [brief execution-backed summary]
52
+ - [ ] [Flow/Group]: [completed / partial / blocked / deferred] — Remaining: [None / list]