@mriekki/project-forge 4.4.1 → 4.4.2

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "package": "@mriekki/project-forge",
4
- "version": "4.4.1",
4
+ "version": "4.4.2",
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": "45139179c3d10ebd89702ac3aedec231364d8a34",
17
+ "commit": "d106b1834a8c44bdae0b16e4af5d8dab0711a120",
18
18
  "version": "4.0.0",
19
19
  "distribution": "greenfield-workspace",
20
20
  "descriptor": "assets/core/distribution.json",
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "package": "@mriekki/project-forge",
4
- "version": "4.4.1",
4
+ "version": "4.4.2",
5
5
  "components": {
6
6
  "core": {
7
7
  "repository": "mriekki/project-forge-core",
8
- "commit": "45139179c3d10ebd89702ac3aedec231364d8a34",
8
+ "commit": "d106b1834a8c44bdae0b16e4af5d8dab0711a120",
9
9
  "version": "4.0.0",
10
10
  "distribution": "greenfield-workspace",
11
11
  "files": [
@@ -22,7 +22,7 @@
22
22
  {
23
23
  "source": "core/instructions/project-forge-workflow.instructions.md",
24
24
  "destination": ".github/instructions/project-forge-workflow.instructions.md",
25
- "sha256": "85568ba56681831e34c63aa14f91702522a451e8b2fa883da631d609440d7a7c"
25
+ "sha256": "13379a56c65921756cdae8e1d2d711c3321b9d899b5d96a81dbf51ecaa9ce022"
26
26
  },
27
27
  {
28
28
  "source": "core/instructions/project-forge-docs.instructions.md",
@@ -42,7 +42,7 @@
42
42
  {
43
43
  "source": "core/skills/refine-requirements/SKILL.md",
44
44
  "destination": ".github/skills/refine-requirements/SKILL.md",
45
- "sha256": "ee5085ac6bbf8fb33ab5f6b52e0ac954c164fd3ea51f90965c9bde86adc88def"
45
+ "sha256": "9e76b9c3700a00af8852928d4e6bf1aeca9a24c6cc8fc9b2f1873e0198b63962"
46
46
  },
47
47
  {
48
48
  "source": "core/skills/start-work/SKILL.md",
@@ -187,7 +187,7 @@
187
187
  {
188
188
  "source": "core/process/INTERACTIVE_SESSION_GUIDE.md",
189
189
  "destination": "docs/process/INTERACTIVE_SESSION_GUIDE.md",
190
- "sha256": "8cd74fbd7433969923299849eb89bdd774fd4af1b9694639f0b9871a1047cacf"
190
+ "sha256": "08df5212fc6d08e46d3121dad3d076e05baa71b046a7e360a201b18916b7e574"
191
191
  },
192
192
  {
193
193
  "source": "core/process/COACHING_GUIDE.md",
@@ -20,9 +20,9 @@ For implementation, establish the repository-appropriate short-lived work branch
20
20
 
21
21
  Continuous modes such as `/grill-me`, `/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. 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.
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 or lettered menu is only the fallback when structured choice UI is unavailable.
24
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.
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. When the host does not expose recommendation metadata, append `[RECOMMENDED]` to exactly one option label and keep the rationale visible. A default/preselected option may match the recommendation, but a default alone must never communicate advice or human approval. If no option is clearly better, do not mark any option recommended and do not use a default that implies a preference. 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
26
 
27
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.
28
28
 
@@ -51,16 +51,18 @@ A recommendation is optional advice, not a required field and not an accepted de
51
51
 
52
52
  - mark **exactly one** choice as `RECOMMENDED` only when current evidence, repository policy, or a clear engineering tradeoff supports it;
53
53
  - use the host's `recommended` indicator/metadata when available and add a brief rationale in the choice description or surrounding prompt;
54
+ - when the host does not expose recommendation metadata, append `[RECOMMENDED]` to exactly one option label and keep the concise rationale visible in the prompt or option description;
55
+ - a default/preselected value may match the recommended option, but a default alone must never communicate that an option is recommended or human-approved;
54
56
  - do not mark multiple choices recommended;
55
57
  - do not invent a preference merely to populate recommendation metadata;
56
- - when no option is clearly better, present the choices with **no recommendation**;
58
+ - when no option is clearly better, present the choices with **no recommendation** and do not use a default that implies a preference;
57
59
  - 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;
58
60
  - the human may select a different option or answer free-form;
59
61
  - record only the human's selected/confirmed answer as the requirement, action, or decision. Never record the recommendation itself as accepted state.
60
62
 
61
63
  A structured selector is presentation, not extra authorization. Selecting a choice authorizes only the action/session that the workflow says that choice authorizes.
62
64
 
63
- 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
+ When the host has no structured question UI, use a concise textual fallback. A numbered or lettered list is acceptable **only as this fallback**; keep the same labels/recommendation/consequence tags, including `[RECOMMENDED]` when one option is evidence-backed, and accept the number/letter, 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.
64
66
 
65
67
  Keep questions open-ended when predefined choices would weaken the purpose of the interaction. This includes:
66
68
 
@@ -124,9 +124,9 @@ Then present only relevant actions as a **single-select structured choice** when
124
124
  - `Approve local requirements` `[REQUIREMENTS GATE]` when applicable
125
125
  - `Stop` `[NO ACTION]`
126
126
 
127
- Make a recommendation only when current requirement evidence or a clear engineering tradeoff supports one. If so, mark exactly one choice with the host's `recommended` indicator and briefly explain why. If there is no clear basis, show the choices without a recommendation. The selected answer, not the recommendation, controls what the session does or records.
127
+ Make a recommendation only when current requirement evidence or a clear engineering tradeoff supports one. If so, mark exactly one choice with the host's `recommended` indicator when that metadata exists; otherwise append `[RECOMMENDED]` to exactly one option label. Briefly explain why in the option description or surrounding prompt. A default/preselected value may match the recommendation, but a default alone must never communicate advice or approval. If there is no clear basis, show the choices without a recommendation and without a preference-implying default. The selected answer, not the recommendation, controls what the session does or records.
128
128
 
129
- If the host has no structured choice UI, present the same relevant choices as a concise numbered text fallback and accept the number, label, or free-form intent. Do not use the numbered fallback as the normal VS Code path.
129
+ If the host has no structured choice UI, present the same relevant choices as a concise numbered or lettered text fallback, preserve `[RECOMMENDED]` on the evidence-backed option when applicable, and accept the number/letter, label, or free-form intent. Do not use the text fallback as the normal VS Code path.
130
130
 
131
131
  ## 5. Active refinement session
132
132
 
@@ -143,7 +143,7 @@ ask one material requirement question
143
143
 
144
144
  For bounded requirement decisions such as lifecycle policy, validation behavior, destructive/reversible handling, or a small set of credible alternatives, use the choice-first interaction guidance from `INTERACTIVE_SESSION_GUIDE.md`. Render mutually exclusive alternatives through host-native **single-select** controls when available. Use multi-select only when the requirement genuinely permits multiple simultaneous selections. Keep `Other / specify` or free-text available when the option set may be incomplete. Keep outcome wording, workflow descriptions, acceptance intent, and other human-authored framing open-ended when predefined choices would constrain the requirement.
145
145
 
146
- Recommendation behavior follows the shared guide: recommend at most one option, only when evidence/tradeoffs support it; give a concise rationale; never record the recommendation as accepted until the human selects or confirms it; and honor a `no recommendation` request for that question only.
146
+ Recommendation behavior follows the shared guide: recommend at most one option, only when evidence/tradeoffs support it; make the recommendation visibly distinguishable through native metadata or `[RECOMMENDED]`; give a concise rationale; never record the recommendation as accepted until the human selects or confirms it; and honor a `no recommendation` request for that question only.
147
147
 
148
148
  Example of a supported recommendation:
149
149
 
@@ -153,11 +153,8 @@ Decision: How should a browser-to-real-SQLite path be proven for a narrowly scop
153
153
  Choices:
154
154
  - Integration test against real SQLite
155
155
  - Browser smoke check through the API
156
- - Both
156
+ - Both [RECOMMENDED] — proves persistence and browser/API paths without implying a broad end-to-end suite
157
157
  - Other / specify
158
-
159
- Recommendation: Both
160
- Why: one real-SQLite integration test proves the persistence path and one browser smoke check proves the browser/API path without implying a broad end-to-end suite.
161
158
  ```
162
159
 
163
160
  Treat this as advice for the human to accept, change, or replace. Do not record `Both` as a requirement until the human selects or confirms it.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mriekki/project-forge",
3
- "version": "4.4.1",
3
+ "version": "4.4.2",
4
4
  "description": "Public consumer distribution and updater for Project Forge engineering assets.",
5
5
  "type": "module",
6
6
  "bin": {