@mriekki/project-forge 2.1.0 → 3.0.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/assets/components.json +3 -3
- package/assets/deployment/distribution.json +1 -1
- package/assets/generated/ASSEMBLY.json +40 -40
- package/assets/generated/core/core/agents/reviewer.agent.md +1 -1
- package/assets/generated/core/core/instructions/project-forge-workflow.instructions.md +5 -1
- package/assets/generated/core/core/process/DEPLOYMENT_ENABLEMENT.md +1 -1
- package/assets/generated/core/core/process/GUIDED_NEXT_STEPS.md +22 -6
- package/assets/generated/core/core/process/INTERACTIVE_SESSION_GUIDE.md +31 -1
- package/assets/generated/core/core/process/PROJECT_DOCUMENTATION_FRAMEWORK.md +3 -3
- package/assets/generated/core/core/process/PROJECT_FORGE_ENGINEERING_GUIDE.md +14 -14
- package/assets/generated/core/core/skills/cleanup-branches/SKILL.md +6 -10
- package/assets/generated/core/core/skills/code-walkthrough/SKILL.md +12 -8
- package/assets/generated/core/core/skills/core-sync/SKILL.md +17 -11
- package/assets/generated/core/core/skills/define-feature/SKILL.md +9 -18
- package/assets/generated/core/core/skills/deliver/SKILL.md +12 -8
- package/assets/generated/core/core/skills/deploy/SKILL.md +3 -3
- package/assets/generated/core/core/skills/deployment-readiness/SKILL.md +1 -1
- package/assets/generated/core/core/skills/grill-with-docs/SKILL.md +6 -8
- package/assets/generated/core/core/skills/next-step/SKILL.md +10 -11
- package/assets/generated/core/core/skills/progress/SKILL.md +1 -1
- package/assets/generated/core/core/skills/project-forge-update/SKILL.md +10 -6
- package/assets/generated/core/core/skills/pull-latest/SKILL.md +16 -10
- package/assets/generated/core/core/skills/refine-requirements/SKILL.md +37 -16
- package/assets/generated/core/core/skills/setup/SKILL.md +25 -22
- package/assets/generated/core/core/skills/start-work/SKILL.md +11 -9
- package/assets/generated/core/core/skills/tear-down/SKILL.md +4 -4
- package/assets/generated/deployment/docs/DEVELOPER_ENVIRONMENTS.md +11 -11
- package/assets/generated/deployment/docs/ENVIRONMENT_PROOF.md +2 -2
- package/assets/generated/deployment/docs/WORKSPACE_INSTANCES.md +1 -1
- package/assets/generated/deployment/docs/images/developer-environment-journey.svg +2 -2
- package/assets/generated/deployment/docs/images/{poc-environment-model.svg → project-environment-model.svg} +4 -4
- package/assets/generated/deployment/src/project_forge_deployment/cli.py +1 -1
- package/assets/generated/deployment/src/project_forge_deployment/entrypoint.py +1 -1
- package/assets/generated/deployment/src/project_forge_deployment/environment_probe.py +2 -2
- package/assets/generated/deployment/src/project_forge_deployment/route_registry.py +2 -2
- package/assets/generated/deployment/src/project_forge_deployment/teardown.py +7 -7
- package/assets/generated/deployment/src/project_forge_deployment/teardown_cli.py +6 -6
- package/assets/generated/deployment/src/project_forge_deployment/teardown_remote.py +6 -6
- package/package.json +1 -1
package/assets/components.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"package": "@mriekki/project-forge",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "3.0.0",
|
|
5
5
|
"defaultProfile": "greenfield-project",
|
|
6
6
|
"profiles": {
|
|
7
7
|
"greenfield-project": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"components": {
|
|
15
15
|
"core": {
|
|
16
16
|
"repository": "mriekki/project-forge-core",
|
|
17
|
-
"commit": "
|
|
17
|
+
"commit": "17a09fc913a12902c4a9172e53bc70d421f5b0d5",
|
|
18
18
|
"version": "3.3.0",
|
|
19
19
|
"distribution": "greenfield-workspace",
|
|
20
20
|
"descriptor": "assets/core/distribution.json",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"deployment": {
|
|
25
25
|
"repository": "mriekki/project-forge-deployment-kit",
|
|
26
|
-
"commit": "
|
|
26
|
+
"commit": "0974f36bcb5062c4becb7c5c4e0fbc3e629ad4a9",
|
|
27
27
|
"distribution": "greenfield-project",
|
|
28
28
|
"descriptor": "assets/deployment/distribution.json",
|
|
29
29
|
"sourceRoot": "assets/generated/deployment",
|
|
@@ -49,6 +49,6 @@
|
|
|
49
49
|
{"source": "docs/ENVIRONMENT_PROOF.md", "destination": "docs/project-forge/ENVIRONMENT_PROOF.md"},
|
|
50
50
|
{"source": "docs/images/developer-environment-journey.svg", "destination": "docs/project-forge/images/developer-environment-journey.svg"},
|
|
51
51
|
{"source": "docs/images/personal-environment-architecture.svg", "destination": "docs/project-forge/images/personal-environment-architecture.svg"},
|
|
52
|
-
{"source": "docs/images/
|
|
52
|
+
{"source": "docs/images/project-environment-model.svg", "destination": "docs/project-forge/images/project-environment-model.svg"}
|
|
53
53
|
]
|
|
54
54
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"package": "@mriekki/project-forge",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "3.0.0",
|
|
5
5
|
"components": {
|
|
6
6
|
"core": {
|
|
7
7
|
"repository": "mriekki/project-forge-core",
|
|
8
|
-
"commit": "
|
|
8
|
+
"commit": "17a09fc913a12902c4a9172e53bc70d421f5b0d5",
|
|
9
9
|
"version": "3.3.0",
|
|
10
10
|
"distribution": "greenfield-workspace",
|
|
11
11
|
"files": [
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
{
|
|
18
18
|
"source": "core/agents/reviewer.agent.md",
|
|
19
19
|
"destination": ".github/agents/reviewer.agent.md",
|
|
20
|
-
"sha256": "
|
|
20
|
+
"sha256": "94255c72a6c875722ebaf8b0cb328fe019856c01443b550ca6e2f6c422da983e"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
"source": "core/agents/coach.agent.md",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
{
|
|
28
28
|
"source": "core/instructions/project-forge-workflow.instructions.md",
|
|
29
29
|
"destination": ".github/instructions/project-forge-workflow.instructions.md",
|
|
30
|
-
"sha256": "
|
|
30
|
+
"sha256": "aa03af8ef23d32d90a85adaeb549873e4de32798c58bfdaf7fe4183a549b1a17"
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
33
|
"source": "core/instructions/project-forge-docs.instructions.md",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
{
|
|
38
38
|
"source": "core/skills/define-feature/SKILL.md",
|
|
39
39
|
"destination": ".github/skills/define-feature/SKILL.md",
|
|
40
|
-
"sha256": "
|
|
40
|
+
"sha256": "c9f85d76a701b3d1af5c70cd74b19ce119b5735cf3537e2618159d58394ffd02"
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
43
|
"source": "core/skills/grill-me/SKILL.md",
|
|
@@ -47,22 +47,22 @@
|
|
|
47
47
|
{
|
|
48
48
|
"source": "core/skills/grill-with-docs/SKILL.md",
|
|
49
49
|
"destination": ".github/skills/grill-with-docs/SKILL.md",
|
|
50
|
-
"sha256": "
|
|
50
|
+
"sha256": "facdfecee977ab01bbe908f6f122e483ea27c98a8f1562973f59f9266b63323e"
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
53
|
"source": "core/skills/refine-requirements/SKILL.md",
|
|
54
54
|
"destination": ".github/skills/refine-requirements/SKILL.md",
|
|
55
|
-
"sha256": "
|
|
55
|
+
"sha256": "ee5085ac6bbf8fb33ab5f6b52e0ac954c164fd3ea51f90965c9bde86adc88def"
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
"source": "core/skills/start-work/SKILL.md",
|
|
59
59
|
"destination": ".github/skills/start-work/SKILL.md",
|
|
60
|
-
"sha256": "
|
|
60
|
+
"sha256": "5f4d46323d19bb7a1d4e64f233ae64aae8e1874da072d38cb344d3d834bdea8e"
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
63
|
"source": "core/skills/setup/SKILL.md",
|
|
64
64
|
"destination": ".github/skills/setup/SKILL.md",
|
|
65
|
-
"sha256": "
|
|
65
|
+
"sha256": "60dcb93e98f6f00177e9e2d406c55f15bd59ebf8607c3f79ae464fe7c00616b6"
|
|
66
66
|
},
|
|
67
67
|
{
|
|
68
68
|
"source": "core/skills/build/SKILL.md",
|
|
@@ -87,37 +87,37 @@
|
|
|
87
87
|
{
|
|
88
88
|
"source": "core/skills/progress/SKILL.md",
|
|
89
89
|
"destination": ".github/skills/progress/SKILL.md",
|
|
90
|
-
"sha256": "
|
|
90
|
+
"sha256": "9b0ba914529e6bd91ad5fd7a30f666884c1687b35b847bfe77ed745c50f0fd12"
|
|
91
91
|
},
|
|
92
92
|
{
|
|
93
93
|
"source": "core/skills/next-step/SKILL.md",
|
|
94
94
|
"destination": ".github/skills/next-step/SKILL.md",
|
|
95
|
-
"sha256": "
|
|
95
|
+
"sha256": "7c24a15b9069dcc5218319ab7fb72231e48efd2ebd325d8ff250e142cb3aa813"
|
|
96
96
|
},
|
|
97
97
|
{
|
|
98
98
|
"source": "core/skills/deliver/SKILL.md",
|
|
99
99
|
"destination": ".github/skills/deliver/SKILL.md",
|
|
100
|
-
"sha256": "
|
|
100
|
+
"sha256": "238d6c81a7253c4241e4cf8588be5a5986b406b7e3a56cac115fc47a46071c71"
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
103
|
"source": "core/skills/cleanup-branches/SKILL.md",
|
|
104
104
|
"destination": ".github/skills/cleanup-branches/SKILL.md",
|
|
105
|
-
"sha256": "
|
|
105
|
+
"sha256": "b44af82b8e21693fcc600cb9628c50f49a117c7cfb7840af0f2ccedad2f96dc7"
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
108
|
"source": "core/skills/pull-latest/SKILL.md",
|
|
109
109
|
"destination": ".github/skills/pull-latest/SKILL.md",
|
|
110
|
-
"sha256": "
|
|
110
|
+
"sha256": "709471b55c41ec72fe0ca4eb87af0740ab9a947ef0b31c36f8cf51afc58d3ccb"
|
|
111
111
|
},
|
|
112
112
|
{
|
|
113
113
|
"source": "core/skills/project-forge-update/SKILL.md",
|
|
114
114
|
"destination": ".github/skills/project-forge-update/SKILL.md",
|
|
115
|
-
"sha256": "
|
|
115
|
+
"sha256": "3463a68171fa30ef10f1ca514424236317ec364f015c5446f49911a1a3c9bb12"
|
|
116
116
|
},
|
|
117
117
|
{
|
|
118
118
|
"source": "core/skills/core-sync/SKILL.md",
|
|
119
119
|
"destination": ".github/skills/core-sync/SKILL.md",
|
|
120
|
-
"sha256": "
|
|
120
|
+
"sha256": "cbc498597cea7a48004fc507f9a6efc130544e57f347c0efdbb073f71f14965e"
|
|
121
121
|
},
|
|
122
122
|
{
|
|
123
123
|
"source": "core/skills/upstream-fix/SKILL.md",
|
|
@@ -137,17 +137,17 @@
|
|
|
137
137
|
{
|
|
138
138
|
"source": "core/skills/deployment-readiness/SKILL.md",
|
|
139
139
|
"destination": ".github/skills/deployment-readiness/SKILL.md",
|
|
140
|
-
"sha256": "
|
|
140
|
+
"sha256": "82eaf37f8acc4e3d69871a02ad38ab9bf94caccaa0b3a40784dbb622621e112c"
|
|
141
141
|
},
|
|
142
142
|
{
|
|
143
143
|
"source": "core/skills/deploy/SKILL.md",
|
|
144
144
|
"destination": ".github/skills/deploy/SKILL.md",
|
|
145
|
-
"sha256": "
|
|
145
|
+
"sha256": "8296d5cdd166dc5e0125df5d8ebc83d901a04f71caad8563ec67e9d02761955a"
|
|
146
146
|
},
|
|
147
147
|
{
|
|
148
148
|
"source": "core/skills/tear-down/SKILL.md",
|
|
149
149
|
"destination": ".github/skills/tear-down/SKILL.md",
|
|
150
|
-
"sha256": "
|
|
150
|
+
"sha256": "7565b5600af2883abfc47bac29abfd056cfa81536c52408b07da82f696b335b8"
|
|
151
151
|
},
|
|
152
152
|
{
|
|
153
153
|
"source": "core/skills/coach/SKILL.md",
|
|
@@ -172,7 +172,7 @@
|
|
|
172
172
|
{
|
|
173
173
|
"source": "core/skills/code-walkthrough/SKILL.md",
|
|
174
174
|
"destination": ".github/skills/code-walkthrough/SKILL.md",
|
|
175
|
-
"sha256": "
|
|
175
|
+
"sha256": "34cb60680a3effc6af3a5ec22fe0c20d4b9b8064b8b808afed673be988b0f210"
|
|
176
176
|
},
|
|
177
177
|
{
|
|
178
178
|
"source": "core/skills/learning-review/SKILL.md",
|
|
@@ -192,7 +192,7 @@
|
|
|
192
192
|
{
|
|
193
193
|
"source": "core/process/DEPLOYMENT_ENABLEMENT.md",
|
|
194
194
|
"destination": "docs/process/DEPLOYMENT_ENABLEMENT.md",
|
|
195
|
-
"sha256": "
|
|
195
|
+
"sha256": "fa4f0bf3929d7d07b0061191232d39a7d03ae5e1e334e2aeafd27bad83b845fc"
|
|
196
196
|
},
|
|
197
197
|
{
|
|
198
198
|
"source": "core/process/HUMAN_GATES.md",
|
|
@@ -202,12 +202,12 @@
|
|
|
202
202
|
{
|
|
203
203
|
"source": "core/process/GUIDED_NEXT_STEPS.md",
|
|
204
204
|
"destination": "docs/process/GUIDED_NEXT_STEPS.md",
|
|
205
|
-
"sha256": "
|
|
205
|
+
"sha256": "f25f08e6b2e904f44652fb7ea78b9f576f544a55950d63741b6f4806e4ee3287"
|
|
206
206
|
},
|
|
207
207
|
{
|
|
208
208
|
"source": "core/process/INTERACTIVE_SESSION_GUIDE.md",
|
|
209
209
|
"destination": "docs/process/INTERACTIVE_SESSION_GUIDE.md",
|
|
210
|
-
"sha256": "
|
|
210
|
+
"sha256": "c35f2f4bc1b52746b205eab65982b32d9a2fe58f1c750f9744ddfdd320c3f52c"
|
|
211
211
|
},
|
|
212
212
|
{
|
|
213
213
|
"source": "core/process/COACHING_GUIDE.md",
|
|
@@ -227,12 +227,12 @@
|
|
|
227
227
|
{
|
|
228
228
|
"source": "core/process/PROJECT_DOCUMENTATION_FRAMEWORK.md",
|
|
229
229
|
"destination": "docs/process/PROJECT_DOCUMENTATION_FRAMEWORK.md",
|
|
230
|
-
"sha256": "
|
|
230
|
+
"sha256": "bcb9f73dad1490ac5b45fe1bac931d488112727bad537534d8b9ffd5b115d84b"
|
|
231
231
|
},
|
|
232
232
|
{
|
|
233
233
|
"source": "core/process/PROJECT_FORGE_ENGINEERING_GUIDE.md",
|
|
234
234
|
"destination": "docs/project-forge/PROJECT_FORGE_ENGINEERING_GUIDE.md",
|
|
235
|
-
"sha256": "
|
|
235
|
+
"sha256": "c09e0f088682302751d2f98629959cc4dab5e8a441ba19fb3417468e3895cc20"
|
|
236
236
|
},
|
|
237
237
|
{
|
|
238
238
|
"source": "core/process/SETUP_ACCEPTANCE_CHECKLIST.md",
|
|
@@ -348,7 +348,7 @@
|
|
|
348
348
|
},
|
|
349
349
|
"deployment": {
|
|
350
350
|
"repository": "mriekki/project-forge-deployment-kit",
|
|
351
|
-
"commit": "
|
|
351
|
+
"commit": "0974f36bcb5062c4becb7c5c4e0fbc3e629ad4a9",
|
|
352
352
|
"distribution": "greenfield-project",
|
|
353
353
|
"files": [
|
|
354
354
|
{
|
|
@@ -404,7 +404,7 @@
|
|
|
404
404
|
{
|
|
405
405
|
"source": "src/project_forge_deployment/cli.py",
|
|
406
406
|
"destination": "tools/project-forge-deployment/project_forge_deployment/cli.py",
|
|
407
|
-
"sha256": "
|
|
407
|
+
"sha256": "3c3e7d4fadeccc1b8a7691c1a213250790fb728400914894c0d4e70a1ec91cc7"
|
|
408
408
|
},
|
|
409
409
|
{
|
|
410
410
|
"source": "src/project_forge_deployment/doctor.py",
|
|
@@ -414,7 +414,7 @@
|
|
|
414
414
|
{
|
|
415
415
|
"source": "src/project_forge_deployment/entrypoint.py",
|
|
416
416
|
"destination": "tools/project-forge-deployment/project_forge_deployment/entrypoint.py",
|
|
417
|
-
"sha256": "
|
|
417
|
+
"sha256": "94c5eeff4ef684a4665909f7710d95fb4f65c118a71f60782b048697d6a495dd"
|
|
418
418
|
},
|
|
419
419
|
{
|
|
420
420
|
"source": "src/project_forge_deployment/environment_cli.py",
|
|
@@ -424,7 +424,7 @@
|
|
|
424
424
|
{
|
|
425
425
|
"source": "src/project_forge_deployment/environment_probe.py",
|
|
426
426
|
"destination": "tools/project-forge-deployment/project_forge_deployment/environment_probe.py",
|
|
427
|
-
"sha256": "
|
|
427
|
+
"sha256": "3971264b425c9eb49845a48a54aea849ef35b36b86b13017c0946d3b90e9d707"
|
|
428
428
|
},
|
|
429
429
|
{
|
|
430
430
|
"source": "src/project_forge_deployment/errors.py",
|
|
@@ -499,7 +499,7 @@
|
|
|
499
499
|
{
|
|
500
500
|
"source": "src/project_forge_deployment/route_registry.py",
|
|
501
501
|
"destination": "tools/project-forge-deployment/project_forge_deployment/route_registry.py",
|
|
502
|
-
"sha256": "
|
|
502
|
+
"sha256": "ea08753878e9e6b59a8986aac7e40e40f66651cc704fff50842badf956705744"
|
|
503
503
|
},
|
|
504
504
|
{
|
|
505
505
|
"source": "src/project_forge_deployment/route_registry_remote.py",
|
|
@@ -539,17 +539,17 @@
|
|
|
539
539
|
{
|
|
540
540
|
"source": "src/project_forge_deployment/teardown.py",
|
|
541
541
|
"destination": "tools/project-forge-deployment/project_forge_deployment/teardown.py",
|
|
542
|
-
"sha256": "
|
|
542
|
+
"sha256": "08215b8b5fa87ca8abf96f10f38aca0207840bd1b1faf4c2c53cb691caf20a72"
|
|
543
543
|
},
|
|
544
544
|
{
|
|
545
545
|
"source": "src/project_forge_deployment/teardown_cli.py",
|
|
546
546
|
"destination": "tools/project-forge-deployment/project_forge_deployment/teardown_cli.py",
|
|
547
|
-
"sha256": "
|
|
547
|
+
"sha256": "214987895cde77648b5274042f1c21557046c3bf76224bfdd415ea34fec3d873"
|
|
548
548
|
},
|
|
549
549
|
{
|
|
550
550
|
"source": "src/project_forge_deployment/teardown_remote.py",
|
|
551
551
|
"destination": "tools/project-forge-deployment/project_forge_deployment/teardown_remote.py",
|
|
552
|
-
"sha256": "
|
|
552
|
+
"sha256": "ad764f5a67c43f81b4973dd5639b2c28b23ae883a85e5ae29efc14dad506e88e"
|
|
553
553
|
},
|
|
554
554
|
{
|
|
555
555
|
"source": "src/project_forge_deployment/trust.py",
|
|
@@ -559,22 +559,22 @@
|
|
|
559
559
|
{
|
|
560
560
|
"source": "docs/DEVELOPER_ENVIRONMENTS.md",
|
|
561
561
|
"destination": "docs/project-forge/DEVELOPER_ENVIRONMENTS.md",
|
|
562
|
-
"sha256": "
|
|
562
|
+
"sha256": "e818931055044f6158ffe321303a5cbcd2f58724430d51e87c1688e1f71a8fbc"
|
|
563
563
|
},
|
|
564
564
|
{
|
|
565
565
|
"source": "docs/WORKSPACE_INSTANCES.md",
|
|
566
566
|
"destination": "docs/project-forge/WORKSPACE_INSTANCES.md",
|
|
567
|
-
"sha256": "
|
|
567
|
+
"sha256": "43da263213d3822308d4a9bc57b53119e8b0abdc92e14afb354e88dedd2b0706"
|
|
568
568
|
},
|
|
569
569
|
{
|
|
570
570
|
"source": "docs/ENVIRONMENT_PROOF.md",
|
|
571
571
|
"destination": "docs/project-forge/ENVIRONMENT_PROOF.md",
|
|
572
|
-
"sha256": "
|
|
572
|
+
"sha256": "d139ec1691d073e845a679edf45cb01c971a40b3ccc31404efb8c1e81e481ea5"
|
|
573
573
|
},
|
|
574
574
|
{
|
|
575
575
|
"source": "docs/images/developer-environment-journey.svg",
|
|
576
576
|
"destination": "docs/project-forge/images/developer-environment-journey.svg",
|
|
577
|
-
"sha256": "
|
|
577
|
+
"sha256": "f799027ee52105f482231998ecda9bf6f6e05590f131ec0c7d04cd8d27b3ca51"
|
|
578
578
|
},
|
|
579
579
|
{
|
|
580
580
|
"source": "docs/images/personal-environment-architecture.svg",
|
|
@@ -582,9 +582,9 @@
|
|
|
582
582
|
"sha256": "a2d5a4a6b52eaa451bb3b28eb9a856a30750b00e9f1c5932c645bdc8e96f935f"
|
|
583
583
|
},
|
|
584
584
|
{
|
|
585
|
-
"source": "docs/images/
|
|
586
|
-
"destination": "docs/project-forge/images/
|
|
587
|
-
"sha256": "
|
|
585
|
+
"source": "docs/images/project-environment-model.svg",
|
|
586
|
+
"destination": "docs/project-forge/images/project-environment-model.svg",
|
|
587
|
+
"sha256": "357896c40ff2c7a93bf77811af61d2559103d2e386a5fd887c7041d016114b10"
|
|
588
588
|
}
|
|
589
589
|
]
|
|
590
590
|
}
|
|
@@ -72,7 +72,7 @@ READY / CHANGES REQUIRED / INSUFFICIENT EVIDENCE
|
|
|
72
72
|
|
|
73
73
|
## Guided ending
|
|
74
74
|
|
|
75
|
-
After findings use CURRENT STATE, RECOMMENDED NEXT STEP, and a small
|
|
75
|
+
After findings use CURRENT STATE, RECOMMENDED NEXT STEP, and a small set of relevant action choices. When the host exposes structured question controls, render mutually exclusive actions through **single-select** UI following `INTERACTIVE_SESSION_GUIDE.md`; in VS Code use the native question surface such as `vscode_askQuestions`. Use a numbered text menu only when structured choice UI is unavailable. Reviewer itself does not commit, push, create/merge PRs, or deploy.
|
|
76
76
|
|
|
77
77
|
When implementation is READY and the human accepts the meaningful local diff, explicitly recommend:
|
|
78
78
|
|
|
@@ -20,7 +20,11 @@ For implementation, establish the repository-appropriate short-lived work branch
|
|
|
20
20
|
|
|
21
21
|
Continuous modes such as `/grill-me`, `/grill-with-docs`, `/refine-requirements`, `/coach`, `/learning-review`, and `/deployment-readiness` continue until stopped or naturally complete.
|
|
22
22
|
|
|
23
|
-
During interactive questioning, prefer concise choice-first options for genuinely bounded human decisions, including `Other / specify` and `Not sure — recommend one` when appropriate.
|
|
23
|
+
During interactive questioning, prefer concise choice-first options for genuinely bounded human decisions, including `Other / specify` and `Not sure — recommend one` when appropriate. When the host exposes native structured question controls, use them instead of a plain numbered chat list. In VS Code, use the host's structured question surface such as `vscode_askQuestions` when available: single-select for mutually exclusive decisions/actions and multi-select only when several simultaneous selections are valid. A textual numbered menu is only the fallback when structured choice UI is unavailable.
|
|
24
|
+
|
|
25
|
+
Make a recommendation only when current evidence, repository policy, or a clear engineering tradeoff supports one. Mark exactly one supported choice with the host's `recommended` indicator when available and give a brief rationale. If no option is clearly better, do not mark any option recommended. A recommendation is advice, not approval: record only the human's selected/confirmed answer. If the human asks for no recommendation on one decision, honor that for that decision only; later questions may still include evidence-backed recommendations.
|
|
26
|
+
|
|
27
|
+
Keep factual/environment-specific values and questions intended to elicit the human's own framing, reasoning, debugging approach, design rationale, or understanding open-ended unless options are later useful as scaffolding.
|
|
24
28
|
|
|
25
29
|
For deployment readiness, inspect existing non-secret configuration before asking setup questions. Show already-known simple machine facts such as hostname/address, deployment user, port, and target OS for confirmation. Ask only for missing or conflicting facts. Keep deployment-tool implementation identifiers such as logical target names, `targetName`, SSH aliases, profile paths, and trust-file paths internal unless troubleshooting or genuine ambiguity requires them.
|
|
26
30
|
|
|
@@ -104,7 +104,7 @@ Keep their targetable scope, runtime/container, route, data, readiness evidence,
|
|
|
104
104
|
TOPOLOGY NOTE
|
|
105
105
|
|
|
106
106
|
Staging and Production are logically isolated but share one physical
|
|
107
|
-
failure domain. This may fit
|
|
107
|
+
failure domain. This may fit Project cost/learning goals, but it does not
|
|
108
108
|
demonstrate host-level Production isolation.
|
|
109
109
|
```
|
|
110
110
|
|
|
@@ -11,18 +11,34 @@ CURRENT STATE
|
|
|
11
11
|
RECOMMENDED NEXT STEP
|
|
12
12
|
<one action and why>
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
CHOICES
|
|
15
|
+
<only the relevant bounded actions, rendered through host structured choice UI when available>
|
|
16
|
+
|
|
17
|
+
RECOMMENDED PATH
|
|
18
|
+
<only when multiple future steps are useful>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
For the current choice, follow `INTERACTIVE_SESSION_GUIDE.md`:
|
|
22
|
+
|
|
23
|
+
- use the host's structured choice UI when available; in VS Code use the native question surface such as `vscode_askQuestions`;
|
|
24
|
+
- action menus are normally **single-select** because the developer is choosing one next action;
|
|
25
|
+
- use multi-select only when the workflow explicitly permits several simultaneous selections;
|
|
26
|
+
- make the recommended choice visible when evidence supports one;
|
|
27
|
+
- include `Other / specify` or free-text when the action space may be incomplete;
|
|
28
|
+
- keep genuinely open-ended questions open-ended.
|
|
29
|
+
|
|
30
|
+
A textual numbered menu is only the documented fallback when no structured choice UI is available. Fallback shape:
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
OPTIONS — TEXT FALLBACK ONLY
|
|
15
34
|
1. ... [READ ONLY]
|
|
16
35
|
2. ... [MODIFIES DOCS]
|
|
17
36
|
3. ... [MODIFIES FILES]
|
|
18
37
|
4. ... [GIT + GITHUB WRITE]
|
|
19
38
|
5. Stop [NO ACTION]
|
|
20
|
-
|
|
21
|
-
RECOMMENDED PATH
|
|
22
|
-
<only when multiple future steps are useful>
|
|
23
39
|
```
|
|
24
40
|
|
|
25
|
-
Show only relevant
|
|
41
|
+
Show only relevant choices.
|
|
26
42
|
|
|
27
43
|
Standard action labels include:
|
|
28
44
|
|
|
@@ -41,7 +57,7 @@ Standard action labels include:
|
|
|
41
57
|
[NO ACTION]
|
|
42
58
|
```
|
|
43
59
|
|
|
44
|
-
A selected
|
|
60
|
+
A selected choice authorizes only the bounded action described, except where a skill explicitly defines a continuous session or compound mechanical action.
|
|
45
61
|
|
|
46
62
|
A manually invoked compound action skill may itself be the bounded authorization for its routine mechanics. `/deliver`, for example, may proceed through safe short-lived-branch setup/recovery, staging, commit, push, PR creation/update, and CI inspection without inserting separate options for each mechanical step. It still stops at its explicit merge/finalize gate and whenever evidence becomes ambiguous or unsafe.
|
|
47
63
|
|
|
@@ -27,12 +27,42 @@ Choose the question shape based on what the interaction is trying to learn or de
|
|
|
27
27
|
When a material question has a reasonable bounded answer space and the human is choosing or confirming a decision, prefer a concise choice-first presentation:
|
|
28
28
|
|
|
29
29
|
- offer a small set of plausible choices, normally 3-6;
|
|
30
|
-
- mark a materially preferred option as `RECOMMENDED` when current evidence or repository guidance justifies it;
|
|
31
30
|
- include `Other / specify` when the choices are not exhaustive;
|
|
32
31
|
- include `Not sure — recommend one` when the human can reasonably delegate the choice;
|
|
33
32
|
- accept a choice label/text or a free-form answer;
|
|
34
33
|
- treat choices as interaction aids, not additional requirements.
|
|
35
34
|
|
|
35
|
+
### Host-native structured choice UI
|
|
36
|
+
|
|
37
|
+
When the current host exposes a structured question/choice UI, use it for bounded choices instead of rendering a plain numbered chat menu. In VS Code, use the native question surface exposed by the host, such as `vscode_askQuestions` when available.
|
|
38
|
+
|
|
39
|
+
Presentation rules:
|
|
40
|
+
|
|
41
|
+
- use **single-select** when the choices are mutually exclusive or one action is being authorized;
|
|
42
|
+
- use **multi-select** only when selecting several choices at the same time is semantically valid;
|
|
43
|
+
- preserve one-material-question-at-a-time cadence whenever practical even if the host can batch questions;
|
|
44
|
+
- keep consequence/action labels such as `[READ ONLY]`, `[REQUIREMENTS GATE]`, or `[GIT + GITHUB WRITE]` visible when they matter to authorization;
|
|
45
|
+
- include `Other / specify` or host-supported free-text input when the option set may be incomplete; after `Other / specify`, collect the missing value without forcing another invented menu;
|
|
46
|
+
- accept equivalent free-text answers even when a structured selector is shown, unless the host UI itself requires a selection;
|
|
47
|
+
- map the returned structured value to the same semantic choice the workflow would have accepted by label/text.
|
|
48
|
+
|
|
49
|
+
### Recommendations inside choices
|
|
50
|
+
|
|
51
|
+
A recommendation is optional advice, not a required field and not an accepted decision.
|
|
52
|
+
|
|
53
|
+
- mark **exactly one** choice as `RECOMMENDED` only when current evidence, repository policy, or a clear engineering tradeoff supports it;
|
|
54
|
+
- use the host's `recommended` indicator/metadata when available and add a brief rationale in the choice description or surrounding prompt;
|
|
55
|
+
- do not mark multiple choices recommended;
|
|
56
|
+
- do not invent a preference merely to populate recommendation metadata;
|
|
57
|
+
- when no option is clearly better, present the choices with **no recommendation**;
|
|
58
|
+
- if the human asks for no recommendation on a specific decision, omit the recommendation for that question only; later questions may still include evidence-backed recommendations;
|
|
59
|
+
- the human may select a different option or answer free-form;
|
|
60
|
+
- record only the human's selected/confirmed answer as the requirement, action, or decision. Never record the recommendation itself as accepted state.
|
|
61
|
+
|
|
62
|
+
A structured selector is presentation, not extra authorization. Selecting a choice authorizes only the action/session that the workflow says that choice authorizes.
|
|
63
|
+
|
|
64
|
+
When the host has no structured question UI, use a concise textual fallback. A numbered list is acceptable **only as this fallback**; keep the same labels/recommendation/consequence tags and accept the number, label, or a free-form answer. Do not use a plain numbered list as the normal VS Code interaction when native structured choice UI is available.
|
|
65
|
+
|
|
36
66
|
Keep questions open-ended when predefined choices would weaken the purpose of the interaction. This includes:
|
|
37
67
|
|
|
38
68
|
- user-authored problem/outcome/workflow framing where the human's own wording matters;
|
|
@@ -15,7 +15,7 @@ Project Forge project documentation is a small, evidence-aware engineering syste
|
|
|
15
15
|
|
|
16
16
|
## Canonical shape
|
|
17
17
|
|
|
18
|
-
Greenfield
|
|
18
|
+
Greenfield Projects should normally converge on:
|
|
19
19
|
|
|
20
20
|
```text
|
|
21
21
|
README.md
|
|
@@ -82,7 +82,7 @@ Keep it short. It should answer:
|
|
|
82
82
|
|
|
83
83
|
`PROJECT_BRIEF.md` is the integrated project briefing and navigation surface. It may summarize approved product scope, stack, environments, initial work items, learning goals, and important documentation links.
|
|
84
84
|
|
|
85
|
-
It is **not** a second requirements authority. In a normal Project Forge greenfield
|
|
85
|
+
It is **not** a second requirements authority. In a normal Project Forge greenfield Project:
|
|
86
86
|
|
|
87
87
|
- `docs/product/PRODUCT_BRIEF.md` remains product authority;
|
|
88
88
|
- approved work-item briefs/requirements remain work-item authority;
|
|
@@ -143,7 +143,7 @@ Recommended schema:
|
|
|
143
143
|
{
|
|
144
144
|
"schemaVersion": 1,
|
|
145
145
|
"site": {
|
|
146
|
-
"title": "Example
|
|
146
|
+
"title": "Example Project",
|
|
147
147
|
"entry": "PROJECT_BRIEF.md"
|
|
148
148
|
},
|
|
149
149
|
"documents": [
|
|
@@ -31,7 +31,7 @@ The platform lowers the friction of starting a personal project while preserving
|
|
|
31
31
|
| Choice | Select a technology direction based on project needs or learning goals, with explicit support-state signals rather than hidden assumptions. |
|
|
32
32
|
| Discipline | Use a Project Forge workflow with bounded implementation, review, CI evidence, and meaningful human acceptance points. |
|
|
33
33
|
| Learning | Build understanding alongside code through work-item guides, code walkthroughs, learning review, and targeted coaching. |
|
|
34
|
-
| Realism | Exercise containerization, source control, CI, releases, environment isolation, and deployment tradeoffs without pretending every
|
|
34
|
+
| Realism | Exercise containerization, source control, CI, releases, environment isolation, and deployment tradeoffs without pretending every Project needs dedicated Staging/Production computers. |
|
|
35
35
|
| Repeatability | Create self-contained generated repositories with explicit provenance and controlled platform updates. |
|
|
36
36
|
|
|
37
37
|
### Why this is different from “generate me an app”
|
|
@@ -65,23 +65,23 @@ Clear ownership boundaries keep process, package transport, orchestration, deplo
|
|
|
65
65
|
|
|
66
66
|
```mermaid
|
|
67
67
|
flowchart TB
|
|
68
|
-
BOOT[
|
|
69
|
-
CORE[Agentic Core<br/>Workflow, agents, skills,<br/>HITL gates, learning] -->
|
|
70
|
-
PLATFORM[Project Forge Platform / @mriekki/project-forge<br/>Exact accepted reusable components] -->
|
|
71
|
-
CONTROL[Control Plane<br/>GitHub App orchestration<br/>and safe publication] -->
|
|
72
|
-
DEPLOY[Deployment Kit<br/>Workstation + remote-target mechanics] -->
|
|
68
|
+
BOOT[Project Bootstrap<br/>Discovery, catalog, manifests,<br/>deterministic generation] --> PROJECT[Generated Project<br/>self-contained consumer]
|
|
69
|
+
CORE[Agentic Core<br/>Workflow, agents, skills,<br/>HITL gates, learning] --> PROJECT
|
|
70
|
+
PLATFORM[Project Forge Platform / @mriekki/project-forge<br/>Exact accepted reusable components] --> PROJECT
|
|
71
|
+
CONTROL[Control Plane<br/>GitHub App orchestration<br/>and safe publication] --> PROJECT
|
|
72
|
+
DEPLOY[Deployment Kit<br/>Workstation + remote-target mechanics] --> PROJECT
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
| Layer | Responsibility |
|
|
76
76
|
| --- | --- |
|
|
77
|
-
|
|
|
77
|
+
| Project Bootstrap | Discovery protocol, catalog/support states, approved `PROJECT_BOOTSTRAP.json`, deployment topology intent, deterministic generation, setup/readiness helpers, work-item materialization. |
|
|
78
78
|
| Agentic Core | Reusable workflow behavior, agents/skills, Human-in-the-Loop gates, review/delivery semantics, learning flows, topology-aware deployment orchestration. |
|
|
79
79
|
| Project Forge Platform | Consumer-facing `@mriekki/project-forge` package that assembles exact accepted reusable components and records provenance. |
|
|
80
80
|
| Control Plane | GitHub App orchestration for target validation, short-lived scoped credentials, deterministic generation, and safe publication. |
|
|
81
81
|
| Deployment Kit | Reusable one-workstation loopback-container runtime plus strict remote target/access, Ubuntu/Docker/Caddy routing, persistence, and scoped tear-down mechanics. Managed hosting remains adapter-specific rather than generic implied support. |
|
|
82
|
-
| Generated
|
|
82
|
+
| Generated Project | Owns product scope, architecture, code/tests, work items, CI evidence, logical environment/topology facts, concrete deployment bindings, accepted baselines, and implementation history. |
|
|
83
83
|
|
|
84
|
-
**Architectural outcome:** a generated
|
|
84
|
+
**Architectural outcome:** a generated Project remains usable on its own. Normal development and deployment do not depend on sibling clones of the platform repositories.
|
|
85
85
|
|
|
86
86
|
---
|
|
87
87
|
|
|
@@ -191,7 +191,7 @@ flowchart LR
|
|
|
191
191
|
|
|
192
192
|
### Use AI to increase capability, not only throughput
|
|
193
193
|
|
|
194
|
-
The system treats a personal
|
|
194
|
+
The system treats a personal Project as both a software deliverable and a deliberate learning vehicle — without turning learning into a release gate.
|
|
195
195
|
|
|
196
196
|
- **Embedded context** — work-item Implementation & Learning Guides connect engineering outcomes to concepts, reasoning prompts, things to notice, hands-on opportunities, and learning evidence.
|
|
197
197
|
- **Code walkthrough** — `/code-walkthrough` explains the actual implementation, architecture boundaries, control flow, and important tradeoffs after the work exists.
|
|
@@ -271,7 +271,7 @@ The original briefing used Family Meal Planner v3 to demonstrate re-baselining a
|
|
|
271
271
|
- **Selected stack:** `dotnet-react-sqlite` recipe with partial support; generic scaffold intentionally deferred rather than allowed to overwrite mature architecture decisions.
|
|
272
272
|
- **First work item:** EN-001 — Application Foundation / Walking Skeleton: prove React, ASP.NET, browser-to-API, SQLite through approved layers, dependency injection, health/system info, Compose, and CI.
|
|
273
273
|
- **App-specific deployment model in that reference consumer:** Production and Staging are distinct Ubuntu environments over trusted-LAN SSH with separate target/access contracts and no cross-environment fallback.
|
|
274
|
-
- **Learning goal:** use the project as a hands-on software-engineering
|
|
274
|
+
- **Learning goal:** use the project as a hands-on software-engineering Project and build enough understanding to review and explain the system rather than only accept generated implementation.
|
|
275
275
|
- **Lifecycle point in the original briefing:** the v3 repository had an approved seed manifest and was at the GitHub-first generation handoff when the original briefings were prepared.
|
|
276
276
|
|
|
277
277
|
The FMP topology is an **example consumer choice**, not a reusable requirement for other Project Forge users.
|
|
@@ -287,13 +287,13 @@ The FMP topology is an **example consumer choice**, not a reusable requirement f
|
|
|
287
287
|
The strongest claim is not that AI can do everything. It is that a reusable operating model can make disciplined engineering the lowest-friction way to explore an idea.
|
|
288
288
|
|
|
289
289
|
- **Not “any stack, fully automated.”** Technology choice is broad; Bootstrap automation is claimed only where the live catalog supports it.
|
|
290
|
-
- **Not “every
|
|
290
|
+
- **Not “every Project needs servers.”** One-machine local/demo and explicitly deferred deployment are valid outcomes.
|
|
291
291
|
- **Not generic cloud support.** A plausible provider is not supported until a provider adapter is cataloged, implemented, and proven.
|
|
292
292
|
- **Not autonomous Production.** Merge, CI, or release publication never implies Production deployment. Production and destructive operations remain separately gated regardless of placement.
|
|
293
293
|
- **Not model-dependent.** Repository-local workflow assets define behavior; Core does not rely on one fixed AI model to preserve the engineering process.
|
|
294
|
-
- **Not hidden regeneration.** Generated
|
|
294
|
+
- **Not hidden regeneration.** Generated Projects are self-contained consumers. Reusable updates go through controlled package/baseline paths rather than silent wholesale regeneration.
|
|
295
295
|
- **AI drift is bounded.** Repository protocol, catalog, baselines, and project-owned artifacts outrank conversational inference about project state.
|
|
296
|
-
- **Still a
|
|
296
|
+
- **Still a Project platform.** This is a disciplined engineering Project platform with strong foundations and explicit remaining proof/maturity work — not a finished enterprise developer platform.
|
|
297
297
|
|
|
298
298
|
### Strategic takeaway
|
|
299
299
|
|
|
@@ -114,18 +114,14 @@ If no branch is safely deletable, stop after the preview.
|
|
|
114
114
|
|
|
115
115
|
## 5. Cleanup gate
|
|
116
116
|
|
|
117
|
-
For a non-empty verified-safe set, present one bounded destructive gate:
|
|
117
|
+
For a non-empty verified-safe set, present one bounded destructive gate using the host-native **single-select structured choice UI** when available; in VS Code use the native question surface such as `vscode_askQuestions`. Offer:
|
|
118
118
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
2. Delete verified-safe remote branches only [GITHUB WRITE]
|
|
124
|
-
3. Delete verified-safe local branches only [GIT WRITE]
|
|
125
|
-
4. Stop [NO ACTION]
|
|
126
|
-
```
|
|
119
|
+
- `Delete verified-safe local + remote branches` `[GIT + GITHUB WRITE]` — `RECOMMENDED`
|
|
120
|
+
- `Delete verified-safe remote branches only` `[GITHUB WRITE]`
|
|
121
|
+
- `Delete verified-safe local branches only` `[GIT WRITE]`
|
|
122
|
+
- `Stop` `[NO ACTION]`
|
|
127
123
|
|
|
128
|
-
Only the selected
|
|
124
|
+
Use a numbered text menu only when structured choice UI is unavailable. Only the selected choice authorizes the corresponding deletions. Do not include REVIEW REQUIRED branches in the bounded action.
|
|
129
125
|
|
|
130
126
|
## 6. Revalidate before deletion
|
|
131
127
|
|