wdi-method 0.4.5 → 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.
Files changed (100) hide show
  1. package/README.md +58 -16
  2. package/bin/wdi-method.js +152 -60
  3. package/kit/.constitution/method/README.md +66 -169
  4. package/kit/.constitution/{constitution.md → method/constitution.md} +10 -56
  5. package/kit/.constitution/{document → method/document}/architecture-guide.md +1 -1
  6. package/kit/.constitution/{document → method/document}/corpus-guide.md +2 -2
  7. package/kit/.constitution/{document → method/document}/delivery-flow-guide.md +338 -338
  8. package/kit/.constitution/{document → method/document}/sdd-guide.md +1 -1
  9. package/kit/.constitution/{document → method/document}/templates/cross-cutting.md +5 -5
  10. package/kit/.constitution/{document → method/document}/templates/design-system.md +67 -67
  11. package/kit/.constitution/{document → method/document}/templates/inventory.md +69 -69
  12. package/kit/.constitution/{document → method/document}/templates/model.md +2 -2
  13. package/kit/.constitution/{document → method/document}/templates/questions.md +10 -9
  14. package/kit/.constitution/{document → method/document}/templates/sdd.md +1 -1
  15. package/kit/.constitution/{document → method/document}/templates/srs.md +2 -2
  16. package/kit/.constitution/{document → method/document}/templates/structure-codebase.md +129 -129
  17. package/kit/.constitution/{document → method/document}/templates/structure-document.md +90 -90
  18. package/kit/.constitution/{language-guide.md → method/language-guide.md} +2 -2
  19. package/kit/.constitution/{repo-guide.md → method/repo-guide.md} +16 -3
  20. package/kit/.constitution/{scripts → method/scripts}/inventory.py +102 -100
  21. package/kit/.constitution/{scripts → method/scripts}/timeline.py +665 -665
  22. package/kit/.constitution/{scripts → method/scripts}/validate.py +1599 -1579
  23. package/kit/.constitution/{structure-guide.md → method/structure-guide.md} +3 -3
  24. package/kit/.constitution/method/why/README.md +169 -0
  25. package/kit/.constitution/method/{artifact-map.md → why/artifact-map.md} +5 -5
  26. package/kit/.constitution/method/{rationale.md → why/rationale.md} +5 -5
  27. package/kit/.constitution/project/constitution.md +63 -0
  28. package/kit/assets/bmad-custom/bmad-advanced-elicitation.toml +9 -9
  29. package/kit/assets/bmad-custom/bmad-architecture.toml +33 -31
  30. package/kit/assets/bmad-custom/bmad-build-auto.toml +5 -5
  31. package/kit/assets/bmad-custom/bmad-build.toml +52 -52
  32. package/kit/assets/bmad-custom/bmad-code-review.toml +13 -12
  33. package/kit/assets/bmad-custom/bmad-correct-course.toml +20 -19
  34. package/kit/assets/bmad-custom/bmad-deep-recon.toml +12 -11
  35. package/kit/assets/bmad-custom/bmad-prd.toml +42 -42
  36. package/kit/assets/bmad-custom/bmad-product-brief.toml +18 -18
  37. package/kit/assets/bmad-custom/bmad-retrospective.toml +4 -4
  38. package/kit/assets/bmad-custom/bmad-spec.toml +16 -15
  39. package/kit/assets/bmad-custom/bmad-ux.toml +19 -19
  40. package/kit/assets/bmad-custom/config.toml +3 -3
  41. package/kit/skills/wdi-blueprint/SKILL.md +3 -3
  42. package/kit/skills/wdi-build/SKILL.md +244 -244
  43. package/kit/skills/wdi-component/SKILL.md +1 -1
  44. package/kit/skills/wdi-help/SKILL.md +98 -98
  45. package/kit/skills/wdi-init/SKILL.md +1 -1
  46. package/kit/skills/wdi-problem/SKILL.md +90 -90
  47. package/kit/skills/wdi-product/SKILL.md +127 -127
  48. package/kit/skills/wdi-reconcile/SKILL.md +2 -2
  49. package/kit/skills/wdi-report/SKILL.md +205 -205
  50. package/kit/skills/wdi-systematic-debugging/SKILL.md +193 -193
  51. package/kit/skills/wdi-ux/SKILL.md +145 -145
  52. package/kit-overlay/AGENTS.md +20 -20
  53. package/kit-overlay/README.md +24 -17
  54. package/kit-overlay/constitution.md +10 -56
  55. package/kit-overlay/portability.md +6 -6
  56. package/kit-overlay/repo-guide.md +112 -97
  57. package/package.json +37 -37
  58. package/scaffold/.control/product-glossary.md +21 -21
  59. package/scaffold/.control/project-non-technical-log.md +23 -23
  60. package/scaffold/.control/questions/answered.md +11 -11
  61. package/scaffold/.control/questions/assumptions.md +15 -15
  62. package/scaffold/.control/questions/blocking.md +21 -21
  63. package/scaffold/.control/questions/external.md +11 -11
  64. package/scaffold/.control/registry/components.yaml +21 -21
  65. package/scaffold/.control/registry/defects.yaml +3 -3
  66. package/scaffold/.control/registry/index.yaml +46 -46
  67. package/scaffold/.control/registry/requirements.yaml +15 -15
  68. package/scaffold/.control/registry/risks.yaml +5 -5
  69. package/scaffold/.control/registry/usecases.yaml +6 -6
  70. package/kit/.constitution/README.md +0 -66
  71. /package/kit/.constitution/{document → method/document}/bmad-guide.md +0 -0
  72. /package/kit/.constitution/{document → method/document}/bmad-skill-register.md +0 -0
  73. /package/kit/.constitution/{document → method/document}/brief-guide.md +0 -0
  74. /package/kit/.constitution/{document → method/document}/decision-guide.md +0 -0
  75. /package/kit/.constitution/{document → method/document}/prd-guide.md +0 -0
  76. /package/kit/.constitution/{document → method/document}/srs-guide.md +0 -0
  77. /package/kit/.constitution/{document → method/document}/templates/addendum.md +0 -0
  78. /package/kit/.constitution/{document → method/document}/templates/architecture-spine.md +0 -0
  79. /package/kit/.constitution/{document → method/document}/templates/brief.md +0 -0
  80. /package/kit/.constitution/{document → method/document}/templates/c4.md +0 -0
  81. /package/kit/.constitution/{document → method/document}/templates/contract.md +0 -0
  82. /package/kit/.constitution/{document → method/document}/templates/decision.md +0 -0
  83. /package/kit/.constitution/{document → method/document}/templates/flow.md +0 -0
  84. /package/kit/.constitution/{document → method/document}/templates/integration.md +0 -0
  85. /package/kit/.constitution/{document → method/document}/templates/lc.md +0 -0
  86. /package/kit/.constitution/{document → method/document}/templates/lifecycle.md +0 -0
  87. /package/kit/.constitution/{document → method/document}/templates/meeting.md +0 -0
  88. /package/kit/.constitution/{document → method/document}/templates/oq.md +0 -0
  89. /package/kit/.constitution/{document → method/document}/templates/prd.md +0 -0
  90. /package/kit/.constitution/{document → method/document}/templates/rtr.md +0 -0
  91. /package/kit/.constitution/{document → method/document}/templates/rules.md +0 -0
  92. /package/kit/.constitution/{document → method/document}/templates/scn.md +0 -0
  93. /package/kit/.constitution/{document → method/document}/templates/uc.md +0 -0
  94. /package/kit/.constitution/{document → method/document}/templates/ux.md +0 -0
  95. /package/kit/.constitution/{document → method/document}/ux-guide.md +0 -0
  96. /package/kit/.constitution/{method-glossary.md → method/method-glossary.md} +0 -0
  97. /package/kit/.constitution/method/{portability.md → why/portability.md} +0 -0
  98. /package/kit/.constitution/{codebase/brownfield-guide.md → project/codebase-brownfield-guide.md} +0 -0
  99. /package/kit/.constitution/{codebase/conventions-guide.md → project/codebase-conventions-guide.md} +0 -0
  100. /package/kit/.constitution/{codebase/stack-guide.md → project/codebase-stack-guide.md} +0 -0
@@ -1,97 +1,112 @@
1
- ---
2
- status: Accepted
3
- ---
4
-
5
- # Repo Guide
6
-
7
- **Loaded when:** adding a file that is neither code nor corpus, or unsure whether something may be
8
- kept in this repo
9
-
10
- Every other guide answers *where in the corpus does this go*. This one answers the question that
11
- comes before it: **does it belong in this repository at all?**
12
-
13
- ## What this repository is
14
-
15
- One product, built for one owner. It holds what is needed to build and run that product, and
16
- nothing that merely relates to it commercially or organisationally.
17
-
18
- | MAY be here | MUST NOT be here |
19
- |---|---|
20
- | Application code, configuration, migrations, tests | Proposals, contracts, meeting notes with the client |
21
- | The corpus — `.constitution/` `.control/` `.what/` `.how/` | Contract values, pricing strategy, margins, rate cards |
22
- | Technical documentation, ADR, diagrams | Real customer data, production credentials, tokens |
23
- | Synthetic seed data | Anything whose leak would harm a bargaining position |
24
- | Built deliverables | An archive of commercial documents |
25
-
26
- The test is not "is it secret". It is **what changes when this file changes** — a commitment, or how
27
- the thing is built. Only the second belongs here.
28
-
29
- ## Two failure modes, and why the second is worse
30
-
31
- The obvious one is a credential in a commit. It is loud, it is caught, and it has a known remedy.
32
-
33
- The quiet one is a **commercial fact restated as a technical one** — a limit that exists because of
34
- what was negotiated, written into an ADR as though it were an engineering constraint. It survives
35
- every scan, it is never noticed as a leak, and it teaches the next reader that the boundary is
36
- soft.
37
-
38
- When a technical decision genuinely follows from a commercial one, the ADR MUST state the technical
39
- fact and MUST NOT state the commercial one. *"Retention is 90 days"* is a technical fact.
40
- *"Retention is 90 days because the client would not pay for more"* is a commercial one wearing a
41
- technical coat.
42
-
43
- ## `.work/` — scratch that is committed
44
-
45
- `.work/` holds work in progress that has no home yet: notes while reading an unfamiliar system,
46
- drafts, exploratory output, a working paper for a change spanning several sessions.
47
-
48
- It is **committed**, so that a session picked up on another machine finds it, and so a reviewer can
49
- see what a change was actually reasoning about.
50
-
51
- It is **ephemeral**, and the two together are what make its rules matter:
52
-
53
- - Any durable outcome MUST be moved out before the task closes — to the corpus if it is truth, to
54
- `_bmad-output/` if it is a run's byproduct.
55
- - Obsolete scratch MUST be deleted when its task closes. `.work/` that only grows stops being
56
- scratch and becomes a second, unindexed corpus that nobody trusts and nobody deletes.
57
- - Secrets and commercial figures MUST NOT be written here. Being scratch is not an exemption; it is
58
- the reason people assume it is one.
59
- - Nothing MUST be read from `.work/` as authority. If something there is right, it belongs
60
- somewhere with an owner.
61
-
62
- `.work/` MUST NOT be confused with `_bmad-output/`. That folder holds the output of skill runs, is
63
- never curated, and is cited by path. `.work/` holds what a human or agent wrote by hand while
64
- working, and is meant to empty out.
65
-
66
- ## Referring to things outside this repository
67
-
68
- Engagement context — who the client is, what was agreed, what is due — lives elsewhere. This repo
69
- MUST work without it. An agent MUST be able to act on the rules stated here without opening any
70
- other repository.
71
-
72
- When an artifact genuinely needs external context:
73
-
74
- - MUST state the technical fact locally, in full.
75
- - MAY name the external source by **repository and path**, as provenance.
76
- - MUST NOT paste the external content in, and MUST NOT replace a technical statement with a pointer
77
- to a commercial document.
78
-
79
- A pointer where a specification should be is the failure this rule exists to stop: the reader who
80
- cannot open that path is left with nothing, and the reader who can is reading the wrong kind of
81
- document.
82
-
83
- ## How the method arrives
84
-
85
- Method files in `.constitution/` (except this product's Articles 1, 2, and 5, `codebase/*-guide.md`
86
- once `Accepted`, and any extra file this repo added), the `wdi-*` skills, and `_bmad/custom/*.toml`
87
- arrive from the public WDI Method package via `npx wdi-method install` / `update`.
88
-
89
- At **read time** this repo is self-contained: every file the rules need is here, readable with the
90
- repo alone. At **change time** the method has one published writer — the WDI Method package. Two
91
- rules follow:
92
-
93
- - A method file MUST NOT be invented or patched here to improve the method. If a rule is wrong, it
94
- is fixed in the WDI Method package, then brought here with `update`.
95
- - A rule particular to this repo MUST be written out in full, and MUST NOT be replaced by a pointer
96
- into another repository.
97
-
1
+ ---
2
+ status: Accepted
3
+ ---
4
+
5
+ # Repo Guide
6
+
7
+ **Loaded when:** adding a file that is neither code nor corpus, or unsure whether something may be
8
+ kept in this repo
9
+
10
+ Every other guide answers *where in the corpus does this go*. This one answers the question that
11
+ comes before it: **does it belong in this repository at all?**
12
+
13
+ ## What this repository is
14
+
15
+ One product, built for one owner. It holds what is needed to build and run that product, and
16
+ nothing that merely relates to it commercially or organisationally.
17
+
18
+ | MAY be here | MUST NOT be here |
19
+ |---|---|
20
+ | Application code, configuration, migrations, tests | Proposals, contracts, meeting notes with the client |
21
+ | The corpus — `.constitution/` `.control/` `.what/` `.how/` | Contract values, pricing strategy, margins, rate cards |
22
+ | Technical documentation, ADR, diagrams | Real customer data, production credentials, tokens |
23
+ | Synthetic seed data | Anything whose leak would harm a bargaining position |
24
+ | Built deliverables | An archive of commercial documents |
25
+
26
+ The test is not "is it secret". It is **what changes when this file changes** — a commitment, or how
27
+ the thing is built. Only the second belongs here.
28
+
29
+ ## Two failure modes, and why the second is worse
30
+
31
+ The obvious one is a credential in a commit. It is loud, it is caught, and it has a known remedy.
32
+
33
+ The quiet one is a **commercial fact restated as a technical one** — a limit that exists because of
34
+ what was negotiated, written into an ADR as though it were an engineering constraint. It survives
35
+ every scan, it is never noticed as a leak, and it teaches the next reader that the boundary is
36
+ soft.
37
+
38
+ When a technical decision genuinely follows from a commercial one, the ADR MUST state the technical
39
+ fact and MUST NOT state the commercial one. *"Retention is 90 days"* is a technical fact.
40
+ *"Retention is 90 days because the client would not pay for more"* is a commercial one wearing a
41
+ technical coat.
42
+
43
+ ## `.work/` — scratch that is committed
44
+
45
+ `.work/` holds work in progress that has no home yet: notes while reading an unfamiliar system,
46
+ drafts, exploratory output, a working paper for a change spanning several sessions.
47
+
48
+ It is **committed**, so that a session picked up on another machine finds it, and so a reviewer can
49
+ see what a change was actually reasoning about.
50
+
51
+ It is **ephemeral**, and the two together are what make its rules matter:
52
+
53
+ - Any durable outcome MUST be moved out before the task closes — to the corpus if it is truth, to
54
+ `_bmad-output/` if it is a run's byproduct.
55
+ - Obsolete scratch MUST be deleted when its task closes. `.work/` that only grows stops being
56
+ scratch and becomes a second, unindexed corpus that nobody trusts and nobody deletes.
57
+ - Secrets and commercial figures MUST NOT be written here. Being scratch is not an exemption; it is
58
+ the reason people assume it is one.
59
+ - Nothing MUST be read from `.work/` as authority. If something there is right, it belongs
60
+ somewhere with an owner.
61
+
62
+ `.work/` MUST NOT be confused with `_bmad-output/`. That folder holds the output of skill runs, is
63
+ never curated, and is cited by path. `.work/` holds what a human or agent wrote by hand while
64
+ working, and is meant to empty out.
65
+
66
+ ## Referring to things outside this repository
67
+
68
+ Engagement context — who the client is, what was agreed, what is due — lives elsewhere. This repo
69
+ MUST work without it. An agent MUST be able to act on the rules stated here without opening any
70
+ other repository.
71
+
72
+ When an artifact genuinely needs external context:
73
+
74
+ - MUST state the technical fact locally, in full.
75
+ - MAY name the external source by **repository and path**, as provenance.
76
+ - MUST NOT paste the external content in, and MUST NOT replace a technical statement with a pointer
77
+ to a commercial document.
78
+
79
+ A pointer where a specification should be is the failure this rule exists to stop: the reader who
80
+ cannot open that path is left with nothing, and the reader who can is reading the wrong kind of
81
+ document.
82
+
83
+ ## How the method arrives
84
+
85
+ Method files in `.constitution/`, the `wdi-*` skills, and `_bmad/custom/*.toml` arrive from the
86
+ public WDI Method package via `npx wdi-method install` / `update`.
87
+
88
+ `.constitution/` holds **exactly two folders**, and which one a file is in decides who owns it:
89
+
90
+ | Folder | Owner | On `update` | On `promote` |
91
+ |---|---|---|---|
92
+ | `method/` | the method | **overwritten** in full | carried into the package |
93
+ | `project/` | this product | **never touched** seeded once when absent | **never carried**, so a product's rules cannot be published |
94
+
95
+ Everything in the room is yours: `project/constitution.md` (Articles 1, 2, 5),
96
+ `project/codebase-*-guide.md` (stack, conventions, brownfield — protected at **any** `status:`,
97
+ including `Draft`, which is when they are actually written), and any rule file you add.
98
+
99
+ The seam is the **folder**, never a marked region inside a generic file. `AGENTS.md` uses a marked
100
+ block because it is one file with no alternative; `.constitution/` has fifty-odd, and blocks inside
101
+ them would make every update perform surgery in every file. Prose has no merge algebra — only a path
102
+ can say, unambiguously, whose a file is.
103
+
104
+ At **read time** this repo is self-contained: every file the rules need is here, readable with the
105
+ repo alone. At **change time** the method has one published writer — the WDI Method package. Two
106
+ rules follow:
107
+
108
+ - A method file MUST NOT be invented or patched here to improve the method. If a rule is wrong, it
109
+ is fixed in the WDI Method package, then brought here with `update`.
110
+ - A rule particular to this repo MUST be written out in full, and MUST NOT be replaced by a pointer
111
+ into another repository.
112
+
package/package.json CHANGED
@@ -1,37 +1,37 @@
1
- {
2
- "name": "wdi-method",
3
- "version": "0.4.5",
4
- "description": "WDI Method — software delivery method that wraps BMad",
5
- "type": "module",
6
- "bin": {
7
- "wdi-method": "bin/wdi-method.js"
8
- },
9
- "files": [
10
- "bin/",
11
- "lib/",
12
- "kit/",
13
- "kit-overlay/",
14
- "scaffold/",
15
- "README.md",
16
- "LICENSE"
17
- ],
18
- "engines": {
19
- "node": ">=20"
20
- },
21
- "scripts": {
22
- "test": "node --test tests/*.test.mjs",
23
- "prepublishOnly": "node --test tests/*.test.mjs"
24
- },
25
- "dependencies": {
26
- "@clack/prompts": "^0.11.0"
27
- },
28
- "license": "MIT",
29
- "repository": {
30
- "type": "git",
31
- "url": "git+https://github.com/wiradigitalid/wdi-method.git"
32
- },
33
- "bugs": {
34
- "url": "https://github.com/wiradigitalid/wdi-method/issues"
35
- },
36
- "homepage": "https://github.com/wiradigitalid/wdi-method#readme"
37
- }
1
+ {
2
+ "name": "wdi-method",
3
+ "version": "0.5.0",
4
+ "description": "WDI Method — software delivery method that wraps BMad",
5
+ "type": "module",
6
+ "bin": {
7
+ "wdi-method": "bin/wdi-method.js"
8
+ },
9
+ "files": [
10
+ "bin/",
11
+ "lib/",
12
+ "kit/",
13
+ "kit-overlay/",
14
+ "scaffold/",
15
+ "README.md",
16
+ "LICENSE"
17
+ ],
18
+ "engines": {
19
+ "node": ">=20"
20
+ },
21
+ "scripts": {
22
+ "test": "node --test tests/*.test.mjs",
23
+ "prepublishOnly": "node --test tests/*.test.mjs"
24
+ },
25
+ "dependencies": {
26
+ "@clack/prompts": "^0.11.0"
27
+ },
28
+ "license": "MIT",
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "git+https://github.com/wiradigitalid/wdi-method.git"
32
+ },
33
+ "bugs": {
34
+ "url": "https://github.com/wiradigitalid/wdi-method/issues"
35
+ },
36
+ "homepage": "https://github.com/wiradigitalid/wdi-method#readme"
37
+ }
@@ -1,21 +1,21 @@
1
- # Product Glossary
2
-
3
- **Dimuat saat:** menulis dokumen apa pun di korpus.
4
-
5
- SSOT kosakata **produk** — apa yang produk ini bicarakan. Tiap istilah didefinisikan **sekali** di
6
- sini, lalu dipakai apa adanya di seluruh korpus.
7
-
8
- Kosakata **metode** tinggal di `.constitution/method-glossary.md` dan MUST NOT didefinisikan ulang di
9
- sini. Tes pemisahnya: apakah istilah ini tetap berlaku kalau dipakai di produk lain? Ya
10
- `method-glossary.md`, tidak → sini.
11
-
12
- ## Aturan
13
-
14
- - Istilah baru yang muncul di dokumen mana pun MUST ditambahkan ke sini **dalam lintasan yang sama**.
15
- - Definisi MUST menyebut hubungan ke istilah lain dan kardinalitasnya bila relevan.
16
- - Satu istilah MUST NOT punya dua entri.
17
- - Berkas ini lahir **kosong** dan diisi dari produknya. Entri pertamanya lahir bersama brief di G1.
18
-
19
- ## Entri
20
-
21
- <!-- Urut abjad. Format: **Istilah** — definisi. Hubungan. Kardinalitas bila relevan. -->
1
+ # Product Glossary
2
+
3
+ **Loaded when:** writing any document in the corpus.
4
+
5
+ The SSOT for **product** vocabulary what this product talks about. Every term is defined **once**
6
+ here, then used as-is across the corpus.
7
+
8
+ **Method** vocabulary lives in `.constitution/method-glossary.md` and MUST NOT be redefined here. The
9
+ split test: does this term still hold if used in another product? Yes `method-glossary.md`, no →
10
+ here.
11
+
12
+ ## Rules
13
+
14
+ - A new term appearing in any document MUST be added here **in the same pass**.
15
+ - A definition MUST name its relationship to other terms and its cardinality where relevant.
16
+ - One term MUST NOT have two entries.
17
+ - This file is born **empty** and filled from the product. Its first entries are born with the brief at G1.
18
+
19
+ ## Entries
20
+
21
+ <!-- Alphabetical. Format: **Term** — definition. Relationship. Cardinality where relevant. -->
@@ -1,23 +1,23 @@
1
- # Project Non-Technical Log
2
-
3
- **Dimuat saat:** sebuah fakta non-teknis yang membatasi pembangunan produk ini berubah, atau saat
4
- mencari tahu apa yang sudah berlaku di luar kode.
5
-
6
- Ditulis lewat skill `wdi-log` intent `fact`, tidak pernah dengan tangan langsung.
7
-
8
- Tes satu kalimat: **kalau angkanya dihapus dan faktanya masih berguna bagi yang membangun, ia boleh
9
- di sini.**
10
-
11
- Kategori: `domain` · `akun` · `legal` · `jadwal` · `organisasi`.
12
-
13
- ## Berlaku
14
-
15
- | id | Tanggal | Kategori | Fakta | Akibat | Sumber |
16
- |---|---|---|---|---|---|
17
- | — | — | — | — | — | — |
18
-
19
- ## Tidak Berlaku Lagi
20
-
21
- | id | Fakta | Berhenti berlaku | Digantikan |
22
- |---|---|---|---|
23
- | — | — | — | — |
1
+ # Project Non-Technical Log
2
+
3
+ **Loaded when:** a non-technical fact that constrains this product's build changes, or when finding
4
+ out what already holds outside the code.
5
+
6
+ Written through the `wdi-log` skill's `fact` intent, never by hand directly.
7
+
8
+ One-sentence test: **if the number were deleted and the fact would still be useful to whoever is
9
+ building, it belongs here.**
10
+
11
+ Categories: `domain` · `account` · `legal` · `schedule` · `organisation`.
12
+
13
+ ## In force
14
+
15
+ | id | Date | Category | Fact | Effect | Source |
16
+ |---|---|---|---|---|---|
17
+ | — | — | — | — | — | — |
18
+
19
+ ## No longer in force
20
+
21
+ | id | Fact | Stopped holding | Superseded by |
22
+ |---|---|---|---|
23
+ | — | — | — | — |
@@ -1,11 +1,11 @@
1
- # Terjawab
2
-
3
- **Dimuat saat:** mencari keputusan yang sudah diambil lewat pertanyaan, bukan lewat `DEC-`.
4
-
5
- Baris pindah ke sini dari ketiga daftar lain. MUST NOT dihapus.
6
-
7
- ## Terjawab
8
-
9
- | id | Pertanyaan | Jawaban | Ditutup |
10
- |---|---|---|---|
11
- | — | — | — | — |
1
+ # Answered
2
+
3
+ **Loaded when:** looking for a decision that was reached through a question, not through a `DEC-`.
4
+
5
+ Rows move here from the other three lists. MUST NOT be deleted.
6
+
7
+ ## Answered
8
+
9
+ | id | Question | Answer | Closed |
10
+ |---|---|---|---|
11
+ | — | — | — | — |
@@ -1,15 +1,15 @@
1
- # Asumsi
2
-
3
- **Dimuat saat:** disapu sekali per gate; boleh dilewati.
4
-
5
- Kelas **default** sebuah pertanyaan. Agent mengambil jawabannya sendiri lalu mencatatnya di sini, satu
6
- baris: asumsinya, plus akibat kalau ia salah. Berkas ini **tidak menahan apa pun**.
7
-
8
- Sebuah baris di sini MUST naik ke `blocking.md` begitu ia lulus salah satu dari tiga tes yang berkas
9
- itu nyatakan.
10
-
11
- ## Terbuka
12
-
13
- | id | Asumsi | Akibat kalau salah | Diambil | Oleh |
14
- |---|---|---|---|---|
15
- | — | — | — | — | — |
1
+ # Assumptions
2
+
3
+ **Loaded when:** swept once per gate; MAY be skipped.
4
+
5
+ The **default** class for a question. The agent takes the answer itself and records it here, one
6
+ row: the assumption, plus the cost if it turns out wrong. This file **holds nothing**.
7
+
8
+ A row here MUST move up to `blocking.md` the moment it passes one of the three tests that file
9
+ states.
10
+
11
+ ## Open
12
+
13
+ | id | Assumption | Cost if wrong | Taken | By |
14
+ |---|---|---|---|---|
15
+ | — | — | — | — | — |
@@ -1,21 +1,21 @@
1
- # Pertanyaan yang Memblokir
2
-
3
- **Dimuat saat:** setiap gate.
4
-
5
- Hanya berkas ini yang menahan sebuah gate. Ditulis lewat `wdi-question`, tidak pernah dengan tangan
6
- langsung; bentuk barisnya di `.constitution/document/templates/questions.md`.
7
-
8
- Sasarannya **≤3 baris per Product Component**. Sebuah pertanyaan naik ke sini hanya lewat tiga tes,
9
- salah satu cukup:
10
-
11
- 1. Menyentuh uang, data pribadi, atau kewajiban legal.
12
- 2. Mengubah bunyi janji sebuah `FR`.
13
- 3. Salah menjawab memaksa tulis ulang lebih dari satu komponen.
14
-
15
- Gagal ketiganya → `assumptions.md`. Sebuah pertanyaan MUST NOT didaftarkan di sini "untuk aman".
16
-
17
- ## Terbuka
18
-
19
- | id | Pertanyaan | Memblokir | Owner | Sebelum |
20
- |---|---|---|---|---|
21
- | — | — | — | — | — |
1
+ # Blocking Questions
2
+
3
+ **Loaded when:** every gate.
4
+
5
+ Only this file holds a gate. Written through `wdi-question`, never by hand directly; the row shape
6
+ lives in `.constitution/document/templates/questions.md`.
7
+
8
+ Target **<=3 rows per Product Component**. A question rises to here only through three tests, one is
9
+ enough:
10
+
11
+ 1. It touches money, personal data, or a legal obligation.
12
+ 2. It changes the wording of an `FR`'s promise.
13
+ 3. Answering it wrong forces a rewrite of more than one component.
14
+
15
+ Failing all three → `assumptions.md`. A question MUST NOT be filed here "to be safe".
16
+
17
+ ## Open
18
+
19
+ | id | Question | Blocks | Owner | Before |
20
+ |---|---|---|---|---|
21
+ | — | — | — | — | — |
@@ -1,11 +1,11 @@
1
- # Menunggu Pihak Luar
2
-
3
- **Dimuat saat:** ada jawaban yang hanya bisa datang dari luar sesi ini.
4
-
5
- Berkas ini **tidak menahan gate** kecuali barisnya juga ditunjuk dari `blocking.md`.
6
-
7
- ## Terbuka
8
-
9
- | id | Pertanyaan | Menunggu | Sejak |
10
- |---|---|---|---|
11
- | — | — | — | — |
1
+ # Waiting on an Outside Party
2
+
3
+ **Loaded when:** an answer can only come from outside this session.
4
+
5
+ This file **does not hold a gate** unless its row is also pointed to from `blocking.md`.
6
+
7
+ ## Open
8
+
9
+ | id | Question | Waiting on | Since |
10
+ |---|---|---|---|
11
+ | — | — | — | — |
@@ -1,21 +1,21 @@
1
- # components.yaml — SSOT untuk Product Component, container, dan Logical Component
2
- #
3
- # Tiga hal berbeda, dua di antaranya berbagi kata "component":
4
- # Product Component (PC) — irisan DOMAIN, permukaan yang bisa disebut pengguna
5
- # Container — unit yang berjalan atau dideploy sendiri; C4 L2 memilikinya
6
- # Logical Component (LC) — satu unit build yang bisa ditunjuk
7
- #
8
- # `mode` — KEDALAMAN DOKUMEN. Ditulis HANYA pada komponen yang memang perlu beda dari global.
9
- # `risk_accepted` — INTENSITAS REVIEW, bukan kedalaman. low · medium · high
10
- # `owns` — entitas domain yang komponen ini BERWENANG MENULIS.
11
- # `g4_passed` — hanya berarti pada komponen ber-mode di atas catalog.
12
- #
13
- # Komponen lahir lewat wdi-init intent `component` di ekor G2. Berkas ini lahir kosong.
14
-
15
- product_components: []
16
-
17
- platform_owns: []
18
-
19
- containers: []
20
-
21
- logical_components: []
1
+ # components.yaml — SSOT for Product Components, containers, and Logical Components
2
+ #
3
+ # Three different things, two of which share the word "component":
4
+ # Product Component (PC) — a DOMAIN slice, a surface a user could name
5
+ # Container — a unit that runs or deploys on its own; owned by C4 L2
6
+ # Logical Component (LC) — one nameable build unit
7
+ #
8
+ # `mode` — DOCUMENT DEPTH. Written ONLY on a component that genuinely needs to differ from global.
9
+ # `risk_accepted` — REVIEW INTENSITY, not depth. low · medium · high
10
+ # `owns` — the domain entities this component is AUTHORISED TO WRITE.
11
+ # `g4_passed` — only means something on a component at a mode above catalog.
12
+ #
13
+ # A component is born through wdi-init intent `component` at the tail of G2. This file is born empty.
14
+
15
+ product_components: []
16
+
17
+ platform_owns: []
18
+
19
+ containers: []
20
+
21
+ logical_components: []
@@ -1,3 +1,3 @@
1
- # defects.yaml — SSOT untuk cacat: bug biasa dan hotfix.
2
-
3
- defects: []
1
+ # defects.yaml — SSOT for defects: ordinary bugs and hotfixes.
2
+
3
+ defects: []