@davidorex/pi-context 0.31.0 → 0.32.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 (71) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +12 -11
  3. package/dist/block-api.d.ts.map +1 -1
  4. package/dist/block-api.js +27 -2
  5. package/dist/block-api.js.map +1 -1
  6. package/dist/context-sdk.d.ts +71 -33
  7. package/dist/context-sdk.d.ts.map +1 -1
  8. package/dist/context-sdk.js +547 -149
  9. package/dist/context-sdk.js.map +1 -1
  10. package/dist/context.d.ts +153 -2
  11. package/dist/context.d.ts.map +1 -1
  12. package/dist/context.js +75 -5
  13. package/dist/context.js.map +1 -1
  14. package/dist/index.d.ts +71 -19
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +405 -94
  17. package/dist/index.js.map +1 -1
  18. package/dist/lens-view.d.ts +0 -5
  19. package/dist/lens-view.d.ts.map +1 -1
  20. package/dist/lens-view.js +43 -1
  21. package/dist/lens-view.js.map +1 -1
  22. package/dist/migration-registry-loader.d.ts +20 -12
  23. package/dist/migration-registry-loader.d.ts.map +1 -1
  24. package/dist/migration-registry-loader.js +46 -17
  25. package/dist/migration-registry-loader.js.map +1 -1
  26. package/dist/migrations-store.d.ts +45 -18
  27. package/dist/migrations-store.d.ts.map +1 -1
  28. package/dist/migrations-store.js +56 -22
  29. package/dist/migrations-store.js.map +1 -1
  30. package/dist/ops-registry.d.ts.map +1 -1
  31. package/dist/ops-registry.js +91 -118
  32. package/dist/ops-registry.js.map +1 -1
  33. package/dist/promote-item.d.ts.map +1 -1
  34. package/dist/promote-item.js +41 -12
  35. package/dist/promote-item.js.map +1 -1
  36. package/dist/roadmap-plan.d.ts +121 -99
  37. package/dist/roadmap-plan.d.ts.map +1 -1
  38. package/dist/roadmap-plan.js +281 -345
  39. package/dist/roadmap-plan.js.map +1 -1
  40. package/dist/status-vocab.d.ts +12 -2
  41. package/dist/status-vocab.d.ts.map +1 -1
  42. package/dist/status-vocab.js +14 -1
  43. package/dist/status-vocab.js.map +1 -1
  44. package/package.json +1 -1
  45. package/samples/blocks/milestone.json +3 -0
  46. package/samples/blocks/session-notes.json +1 -0
  47. package/samples/conception.json +308 -15
  48. package/samples/migrations.json +8 -0
  49. package/samples/schemas/context-contracts.schema.json +4 -0
  50. package/samples/schemas/conventions.schema.json +4 -0
  51. package/samples/schemas/decisions.schema.json +4 -0
  52. package/samples/schemas/features.schema.json +4 -0
  53. package/samples/schemas/framework-gaps.schema.json +4 -0
  54. package/samples/schemas/issues.schema.json +28 -0
  55. package/samples/schemas/layer-plans.schema.json +4 -0
  56. package/samples/schemas/milestone.schema.json +79 -0
  57. package/samples/schemas/phase.schema.json +4 -0
  58. package/samples/schemas/rationale.schema.json +4 -0
  59. package/samples/schemas/requirements.schema.json +4 -0
  60. package/samples/schemas/research.schema.json +4 -0
  61. package/samples/schemas/session-notes.schema.json +89 -0
  62. package/samples/schemas/spec-reviews.schema.json +4 -0
  63. package/samples/schemas/story.schema.json +8 -0
  64. package/samples/schemas/tasks.schema.json +4 -0
  65. package/samples/schemas/verification.schema.json +4 -0
  66. package/samples/schemas/work-orders.schema.json +4 -0
  67. package/schemas/config.schema.json +77 -3
  68. package/schemas/migrations.schema.json +25 -0
  69. package/skill-narrative.md +7 -5
  70. package/skills/pi-context/SKILL.md +44 -49
  71. package/skills/pi-context/references/bundled-resources.md +5 -1
@@ -1,5 +1,35 @@
1
+ /**
2
+ * Roadmap substrate primitives — the roadmap as a DERIVED view over the
3
+ * milestone block + authored relations (FGAP-042). There is no roadmap block,
4
+ * no roadmap.json, and no ROADMAP- id: the roadmap IS the milestone-block
5
+ * items ordered by the `milestone_precedes_milestone` closure-table edges,
6
+ * with per-milestone membership resolved through `phase_positioned_in_milestone`
7
+ * and per-phase membership through `task_positioned_in_phase`.
8
+ *
9
+ * Module landing pattern follows lens-view.ts: pure functions take cwd,
10
+ * return structured results or { error } records. Subcommand handlers and
11
+ * tool execute() shells in index.ts are thin wrappers that route results to
12
+ * ctx.ui.notify, pi.sendMessage, or AgentToolResult.
13
+ *
14
+ * Status vocabulary normalization: STATUS_VOCABULARY_DEFAULTS maps each
15
+ * schema's native status enum (issues uses open|resolved|deferred;
16
+ * decisions uses open|enacted|superseded; tasks uses
17
+ * todo|in_progress|completed; etc.) to a normalized StatusBucket that
18
+ * cross-block aggregation can compare against. Per the pi-context
19
+ * divergence from main, the active vocabulary is resolved via
20
+ * `resolveStatusVocabulary(cwd)` which merges
21
+ * `config.status_buckets` over the defaults — users override per-project
22
+ * by editing config.json (FGAP-013 closed).
23
+ *
24
+ * Diagnostic display strings: validateRoadmap() emits issues whose
25
+ * `code` field is an opaque slug; the human-readable message is
26
+ * resolved via `diagMessage(cwd, code, fallback)` which checks
27
+ * `config.display_strings[code]` and falls back to embedded English.
28
+ * This is the pi-context divergence: main hardcodes English; pi-context
29
+ * routes the message through config so per-project / per-locale
30
+ * overrides are config-driven.
31
+ */
1
32
  import { type Edge, type ItemRecord, type StatusBucket } from "./context.js";
2
- import { type LoadedLensView } from "./lens-view.js";
3
33
  import { resolveStatusVocabulary, STATUS_VOCABULARY_DEFAULTS } from "./status-vocab.js";
4
34
  import { topoSort } from "./topo.js";
5
35
  export type { StatusBucket } from "./status-vocab.js";
@@ -43,144 +73,136 @@ export declare function rollupPhaseStatus(items: ItemRecord[], vocabulary?: Reco
43
73
  * cycles — array of cycle paths, each as a string[] starting and
44
74
  * ending with the same id. Empty when graph is acyclic.
45
75
  *
46
- * Caller chooses whether cycles are fatal: validateRoadmaps surfaces
47
- * roadmap_phase_cycle; loadRoadmap returns the cycles[] alongside a
76
+ * Caller chooses whether cycles are fatal: validateRoadmap surfaces
77
+ * roadmap_milestone_cycle; loadRoadmap returns the cycles[] alongside a
48
78
  * partial order so renderRoadmap can show what it could and what
49
79
  * couldn't be ordered.
50
80
  */
51
81
  export { topoSort };
52
82
  /**
53
- * Phase entry as authored in roadmap.json. NO depends_on field ordering
54
- * lives in relations.json per DEC-0012.
83
+ * One task row in a phase's membershipthe parent of a
84
+ * task_positioned_in_phase edge, resolved against the substrate index.
85
+ * `title` is populated only when the resolved item carries a string `title`
86
+ * field (the stock tasks schema declares `description`, not `title`, so it
87
+ * stays undefined there and renderers fall back to the id).
55
88
  */
56
- export interface PhaseSpec {
89
+ export interface TaskRow {
57
90
  id: string;
58
- name: string;
59
- description?: string;
60
- lens: string;
61
- milestone?: string;
62
- exit_criteria?: string[];
63
- }
64
- /**
65
- * Inline milestone declared by a roadmap. evidence_block + evidence_query
66
- * together drive milestoneSatisfied evaluation: milestone is satisfied
67
- * when at least one item in evidence_block matches every key/value in
68
- * evidence_query by ===.
69
- */
70
- export interface MilestoneSpec {
71
- id: string;
72
- name: string;
73
- criterion?: string;
74
- evidence_block?: string;
75
- evidence_query?: Record<string, unknown>;
91
+ status?: string;
92
+ title?: string;
76
93
  }
77
94
  /**
78
- * Roadmap entry as authored in roadmap.json's roadmaps[] array.
95
+ * One member phase of a milestone: the parent of a
96
+ * phase_positioned_in_milestone edge, with its tasks (parents of
97
+ * task_positioned_in_phase edges targeting it) and a status rollup over those
98
+ * task items.
79
99
  */
80
- export interface RoadmapSpec {
100
+ export interface PhaseRollupView {
81
101
  id: string;
82
- title: string;
83
- description?: string;
102
+ name?: string;
84
103
  status?: string;
85
- phases: PhaseSpec[];
86
- milestones?: MilestoneSpec[];
104
+ tasks: TaskRow[];
105
+ rollup: PhaseStatus;
87
106
  }
88
107
  /**
89
- * Per-phase loaded view: phase spec + its lens-view (or error) + status
90
- * rollup over the lens's items + optional milestone resolution.
108
+ * One milestone in the derived roadmap. `status` + `phaseCount` come from
109
+ * currentState's config-declared milestone rollup (reached/planned); `rollup`
110
+ * aggregates ALL member phases' task items in a single rollupPhaseStatus pass.
91
111
  */
92
- export interface PhaseView {
93
- phase: PhaseSpec;
94
- lensView: LoadedLensView | {
95
- error: string;
96
- };
97
- status: PhaseStatus;
98
- milestone?: MilestoneSpec;
99
- milestoneSatisfied?: boolean;
112
+ export interface MilestoneView {
113
+ id: string;
114
+ name?: string;
115
+ status: string;
116
+ phaseCount: number;
117
+ phases: PhaseRollupView[];
118
+ rollup: PhaseStatus;
100
119
  }
101
120
  /**
102
- * Materialized roadmap view. `phases` carries PhaseView entries in
103
- * authored input order. `phaseOrder` is the topo order over the
104
- * `phase_depends_on` edges scoped to in-roadmap phases — partial when
105
- * cycles are present (cycle-participating phases are absent from
106
- * phaseOrder and surfaced separately in `cycles`). `edges` is the
107
- * authoritative scoped subset of authored edges and is the renderer's
108
- * sole source for per-phase adjacency lines (the renderer never infers
109
- * adjacency from phaseOrder consecutive pairs — that pattern fabricates
110
- * sibling edges in branching DAGs and is forbidden).
121
+ * The materialized derived roadmap. `milestones` carries MilestoneView entries
122
+ * in stable block scan order. `order` is the topo order over the
123
+ * milestone_precedes_milestone edges scoped to milestone-block items — partial
124
+ * when cycles are present (cycle-participating milestones are absent from
125
+ * `order` and surfaced separately in `cycles`). `edges` is the authoritative
126
+ * scoped subset of authored precedes edges and is the renderer's sole source
127
+ * for per-milestone adjacency lines (the renderer never infers adjacency from
128
+ * `order` consecutive pairs — that pattern fabricates sibling edges in
129
+ * branching DAGs and is forbidden).
111
130
  */
112
- export interface RoadmapView {
113
- roadmap: RoadmapSpec;
114
- phases: PhaseView[];
115
- phaseOrder: string[];
131
+ export interface MilestoneRoadmapView {
132
+ milestones: MilestoneView[];
133
+ order: string[];
116
134
  cycles: string[][];
117
135
  edges: Edge[];
118
136
  }
119
137
  export interface RoadmapValidationIssue {
120
- code: "roadmap_lens_missing" | "roadmap_phase_dep_missing" | "roadmap_phase_cycle" | "roadmap_milestone_evidence_block_missing" | "roadmap_milestone_query_invalid" | "roadmap_composition_cycle" | "roadmap_status_unknown_value";
138
+ code: "roadmap_precedes_endpoint_missing" | "roadmap_milestone_cycle" | "roadmap_milestone_missing" | "roadmap_status_unknown_value" | "roadmap_milestone_isolated";
121
139
  message: string;
122
- roadmap_id?: string;
140
+ milestone_id?: string;
123
141
  phase_id?: string;
124
142
  cycle?: string[];
125
143
  }
126
144
  /**
127
- * Load a single roadmap by id. Returns the materialized RoadmapView or a
128
- * structured { error } when config / block / id is missing.
145
+ * Load the derived roadmap. Returns the materialized MilestoneRoadmapView or
146
+ * a structured { error } when no config exists. Zero milestone-block items is
147
+ * a VALID empty view (not an error) — the roadmap is opt-in by authoring
148
+ * milestones + edges.
129
149
  *
130
150
  * Algorithm:
131
- * 1. Load context; bail when no .project/config.json.
132
- * 2. Defensively read roadmap.json; bail when absent.
133
- * 3. Lookup the roadmap by id; bail when unknown.
134
- * 4. Build PhaseView[] in authored input order (loadLensView per phase,
135
- * rollupPhaseStatus over the resulting items, milestone resolution
136
- * where declared).
137
- * 5. Compute the in-roadmap edge subset (phase_depends_on edges whose
138
- * both endpoints are in the roadmap) and topo-sort to derive
139
- * phaseOrder + cycles.
151
+ * 1. Load context; bail when no <substrate-dir>/config.json.
152
+ * 2. Index the substrate; milestones = index items whose block is
153
+ * "milestone" (stable block scan order).
154
+ * 3. Scope the milestone_precedes_milestone edges to those whose BOTH
155
+ * endpoints are milestone ids; topoSort (preds = parents of a
156
+ * milestone's incoming precedes edges) derives order + cycles.
157
+ * 4. Per milestone: status + phaseCount from currentState(cwd).milestones
158
+ * (the config-declared derived rollup; a milestone absent from that list
159
+ * reports the rollup pattern's incomplete default "planned" with
160
+ * phaseCount 0); phases = parents of phase_positioned_in_milestone edges
161
+ * (child = the milestone), each with tasks = parents of
162
+ * task_positioned_in_phase edges (child = the phase) and a
163
+ * rollupPhaseStatus over the resolved task items; the milestone-level
164
+ * rollup aggregates all member phases' task items in one call.
140
165
  *
141
166
  * The returned `edges` field is the authoritative scoped subset that the
142
- * renderer consumes for per-phase adjacency lines.
167
+ * renderer consumes for per-milestone adjacency lines.
143
168
  */
144
- export declare function loadRoadmap(cwd: string, roadmapId: string): RoadmapView | {
169
+ export declare function loadRoadmap(cwd: string): MilestoneRoadmapView | {
145
170
  error: string;
146
171
  };
147
172
  /**
148
- * Discovery returns one summary entry per roadmap. Empty array when
149
- * roadmap.json is absent (listing is discovery; absence is the truthful
150
- * answer, not an error).
151
- */
152
- export declare function listRoadmaps(cwd: string): Array<{
153
- id: string;
154
- title: string;
155
- status?: string;
156
- phaseCount: number;
157
- }>;
158
- /**
159
- * Validate every roadmap × phase × milestone. Codes are opaque slugs;
160
- * display strings resolve via diagMessage (config.display_strings →
161
- * embedded English fallback). The pi-context lens-validator dispatch
162
- * (registered at module bottom) maps these to ContextValidationIssue-
163
- * compatible records and merges them into validateContext's output.
173
+ * Validate the derived roadmap. Codes are opaque slugs; display strings
174
+ * resolve via diagMessage (config.display_strings embedded English
175
+ * fallback). The pi-context lens-validator dispatch (registered at module
176
+ * bottom) contributes the error-code issues into validateContext's output.
164
177
  *
165
- * Roadmap.json absent → { status: "clean", issues: [] } (opt-in block;
166
- * absence is not a defect).
178
+ * Codes:
179
+ * roadmap_precedes_endpoint_missing (error) a milestone_precedes_milestone
180
+ * edge endpoint that is not a milestone-block item (absent OR wrong kind).
181
+ * roadmap_milestone_cycle (error) — a cycle in the precedes graph.
182
+ * roadmap_milestone_missing (error) — a phase_positioned_in_milestone edge
183
+ * whose child is not a known milestone.
184
+ * roadmap_status_unknown_value (warning) — a member phase whose task rollup
185
+ * buckets unknown with total > 0 (items lack a recognised status value).
186
+ * roadmap_milestone_isolated (info) — a milestone with zero precedes edges
187
+ * while at least one precedes edge exists elsewhere. Info NEVER flips
188
+ * status: status = invalid iff any error-code issue; warnings iff any
189
+ * warning-code issue; else clean.
190
+ *
191
+ * No config → { status: "clean", issues: [] } (nothing to validate).
167
192
  */
168
- export declare function validateRoadmaps(cwd: string): {
193
+ export declare function validateRoadmap(cwd: string): {
169
194
  status: "clean" | "warnings" | "invalid";
170
195
  issues: RoadmapValidationIssue[];
171
196
  };
172
197
  /**
173
- * Render a loaded RoadmapView as pure-textual markdown — NO mermaid, NO
174
- * diagrams, NO graph syntax. Per-phase **Depends on:** adjacency lines
175
- * are sourced strictly from view.edges (sorted alphabetically; "—" when
176
- * the phase has no incoming phase_depends_on edges). Cycle-participating
177
- * phases are surfaced under a separate "**Unordered (cycle-participating):**"
178
- * heading and a "**Cycles detected:**" line. The renderer never infers
179
- * adjacency from phaseOrder consecutive pairs (that pattern fabricates
180
- * sibling edges in branching DAGs).
181
- *
182
- * naming consulted only for lens-target display labels; phase / roadmap
183
- * ids render as-is.
198
+ * Render a loaded MilestoneRoadmapView as pure-textual markdown — NO mermaid,
199
+ * NO diagrams, NO graph syntax. Per-milestone **Preceded by:** adjacency lines
200
+ * are sourced strictly from view.edges (sorted alphabetically; "—" when the
201
+ * milestone has no incoming precedes edges). Cycle-participating milestones
202
+ * are surfaced under a separate "**Unordered (cycle participants):**" heading
203
+ * and a "**Cycles detected:**" line. The renderer never infers adjacency from
204
+ * `order` consecutive pairs (that pattern fabricates sibling edges in
205
+ * branching DAGs).
184
206
  */
185
- export declare function renderRoadmap(view: RoadmapView, naming: Record<string, string> | undefined): string;
207
+ export declare function renderRoadmap(view: MilestoneRoadmapView): string;
186
208
  //# sourceMappingURL=roadmap-plan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"roadmap-plan.d.ts","sourceRoot":"","sources":["../src/roadmap-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roadmap-plan.d.ts","sourceRoot":"","sources":["../src/roadmap-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAGN,KAAK,IAAI,EAET,KAAK,UAAU,EAGf,KAAK,YAAY,EACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAQrC,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,WAAW,CA0B7G;AAaD;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,EAAE,QAAQ,EAAE,CAAC;AAmCpB;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,KAAK,EAAE,IAAI,EAAE,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACtC,IAAI,EACD,mCAAmC,GACnC,yBAAyB,GACzB,2BAA2B,GAC3B,8BAA8B,GAC9B,4BAA4B,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAYD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CA0FjF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG;IAC7C,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;IACzC,MAAM,EAAE,sBAAsB,EAAE,CAAC;CACjC,CAgHA;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAuFhE"}