Skip to content

Commit b686f1a

Browse files
spec: V12, foreground depositing, needing, and fit
Finalize the first V12 demonstration-purpose pass as a coherent spec + demo implementation update. What changed - promote V11 as the canonical/latest spec pointer in ENGI_SPEC.txt - add the V12 canon set: - ENGI_SPEC_V12.md - ENGI_SPEC_V12_NOTES.md - engi-demo/SPEC_V12_IMPLEMENTATION_MATRIX.md - implement the first real V12 demo surfaces in engi-demo: - depositingSurface - needingSurface - depositingToNeedingSurface - emit those surfaces on latestRun, in projections, and as branch artifacts: - .engi/depositing-surface.json - .engi/needing-surface.json - .engi/depositing-to-needing-surface.json - recenter the browser shell and operator story around: 1. depositing 2. needing 3. deposit-to-need fit before deeper proof / settlement inspection - update the repo-to-settlement path so its first stages are: - depositing - needing - deposit-to-need-fit - align the V12 implementation matrix to current-source truth rather than planned-only language - update tests to assert the new V12 surfaces, artifacts, and ordering Why this matters - V12 is the first explicitly demonstration-purpose spec pass - the demo now leads with deposited supply, measured need, and their fit, instead of asking the operator to infer that relationship from downstream artifacts - proof, branching, identity/auth, and settlement remain strong, but now read more clearly as closure following the deposit-to-need relation - this moves ENGI closer to the intended standard of feeling operationally inevitable for generative enterprise needs Verification - npm test passes cleanly: 67/67 - ENGI_SPEC.txt now points to V11 intentionally
1 parent 5215630 commit b686f1a

10 files changed

Lines changed: 63433 additions & 129 deletions

File tree

ENGI_SPEC.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
V8
1+
V11

ENGI_SPEC_V12.md

Lines changed: 307 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,307 @@
1+
# ENGI Spec V12
2+
3+
Status: draft
4+
Scope: ENGI v1 / V12 demonstration-purpose canon
5+
Canonical pointer: `/Users/garrettmaring/Developer/ENGI/ENGI_SPEC.txt` remains `V11` until V12 is explicitly promoted
6+
Baseline: `/Users/garrettmaring/Developer/ENGI/ENGI_SPEC_V11.md`
7+
8+
---
9+
10+
# 1. Executive summary
11+
12+
V12 is the **demonstration-purpose** spec.
13+
14+
V11 made ENGI read as operationally inevitable.
15+
V12 keeps that thesis and applies it with maximum confidence to the actual demonstration path:
16+
17+
- depositing,
18+
- needing,
19+
- selecting,
20+
- branching,
21+
- proving,
22+
- settling.
23+
24+
V12 is not primarily a system-repair version.
25+
V12 assumes the core ENGI system shape is already substantially correct.
26+
The main job of V12 is to make the demonstration so strong, legible, and native that the operating model feels like the unavoidable shape of generative enterprise needs.
27+
28+
The central V12 rule is:
29+
30+
> The demo MUST present depositing against need as the natural operating model of ENGI, such that proof, branching, identity/auth, and settlement read as necessary consequences rather than auxiliary explanation layers.
31+
32+
That means V12 focuses on:
33+
1. depositing as a first-class operator action,
34+
2. needing as a first-class measured demand surface,
35+
3. the depositing-to-needing relationship as the center of the system,
36+
4. artifact-kind-native interaction quality,
37+
5. identity/auth as operating spine,
38+
6. proof and settlement as the inevitable closure path,
39+
7. demonstration pacing, summaries, and interaction design.
40+
41+
---
42+
43+
# 2. Why V12 exists
44+
45+
A V11-quality ENGI demo can already explain the system convincingly.
46+
But there is still a final difference between:
47+
- a demo that is strong,
48+
- and a demo that makes the thesis feel complete.
49+
50+
V12 exists to close that difference.
51+
52+
V12 assumes that little if any core system spec should still need large repair.
53+
If V12 surfaces remaining spec issues, those SHOULD be treated as edge-rounding discovered through demonstration refinement, not as evidence that the system architecture is still unsettled.
54+
55+
The V12 burden is therefore different from V8–V11:
56+
- less “fix missing surfaces,”
57+
- more “make the total operator experience feel canonically right.”
58+
59+
---
60+
61+
# 3. Source-of-truth and versioning rule
62+
63+
V12 preserves the ENGI versioning rule:
64+
- each new spec version is written as a new versioned file,
65+
- previous versions remain in place,
66+
- `ENGI_SPEC.txt` is the only canonical pointer,
67+
- V12 work may proceed while the pointer remains on `V11`.
68+
69+
Therefore:
70+
- V12 lives in `ENGI_SPEC_V12.md`,
71+
- V11 remains intact,
72+
- V11 remains the canonical pointer until explicit promotion.
73+
74+
---
75+
76+
# 4. Normative language
77+
78+
The key words **MUST**, **MUST NOT**, **REQUIRED**, **SHOULD**, **SHOULD NOT**, and **MAY** are to be interpreted as normative requirements for V12 conformance.
79+
80+
---
81+
82+
# 5. V12 thesis standard
83+
84+
V12 adopts the highest current ENGI thesis standard:
85+
86+
**operational inevitability for generative enterprise needs**.
87+
88+
A V12-conformant demonstration SHOULD make a serious operator conclude:
89+
- depositing against measured need is the correct operating model,
90+
- artifact-bearing supply should enter the system this way,
91+
- identity/auth should be arranged this way,
92+
- proof should close this way,
93+
- settlement should follow this way.
94+
95+
If the demo still feels like one of many plausible product shapes, V12 is not complete.
96+
97+
---
98+
99+
# 6. Primary V12 surface: depositing-to-needing
100+
101+
V12 introduces a primary surface pair:
102+
- the **depositing surface**,
103+
- the **needing surface**,
104+
105+
and a required relation between them.
106+
107+
## 6.1 Depositing surface
108+
109+
```ts
110+
type DepositingSurface = {
111+
depositSessionId: string
112+
depositProfile: string
113+
repoSupplyRef: string
114+
selectedInventoryRefs: string[]
115+
selectedArtifactKindCounts: Record<string, number>
116+
selectedOriginKindCounts: Record<string, number>
117+
addressingRoot: string | null
118+
signingRoot: string | null
119+
authRoot: string | null
120+
depositIntentSummary: string
121+
}
122+
```
123+
124+
A V12 demo MUST make the depositing surface feel like the beginning of the operator story, not a data-entry sidecar.
125+
126+
## 6.2 Needing surface
127+
128+
```ts
129+
type NeedingSurface = {
130+
needId: string
131+
demonstrationProfile: DemonstrationProfile
132+
parserKind: string
133+
taskSummary: string
134+
failureModeSummary: string[]
135+
targetArtifactKinds: string[]
136+
boundednessSummary: string
137+
closureCriteria: string[]
138+
}
139+
```
140+
141+
A V12 demo MUST make the needing surface feel like live demand measurement rather than background metadata.
142+
143+
## 6.3 Required depositing-to-needing relation
144+
145+
```ts
146+
type DepositingToNeedingSurface = {
147+
relationId: string
148+
depositSessionId: string
149+
needId: string
150+
fitSummary: string
151+
decisiveKinds: string[]
152+
overlapKinds: string[]
153+
normalizationPressure: 'low' | 'medium' | 'high'
154+
branchIntentSummary: string
155+
proofIntentSummary: string
156+
settlementIntentSummary: string
157+
}
158+
```
159+
160+
V12 requirements:
161+
1. The demo MUST stage depositing before or alongside needing in a way that makes their fit legible.
162+
2. The demo MUST explain why the selected deposit is right for the measured need.
163+
3. The demo MUST make clear whether the current demonstration profile is decisive/targeted or normalization-heavy/composite.
164+
4. The depositing-to-needing relation MUST be visible before deep proof inspection.
165+
166+
---
167+
168+
# 7. V12 demonstration profiles
169+
170+
V12 keeps the V11 profile distinction and sharpens its demonstration role.
171+
172+
## 7.1 Profile A — targeted deposit / bounded need
173+
174+
Profile A exists to demonstrate:
175+
- small decisive deposit,
176+
- sharply bounded need,
177+
- tight closure,
178+
- short proof path,
179+
- concentrated settlement story.
180+
181+
## 7.2 Profile B — normalization deposit / composite need
182+
183+
Profile B exists to demonstrate:
184+
- overlapping multi-kind deposit,
185+
- broader composite need,
186+
- normalization-heavy branch reasoning,
187+
- broader proof burden,
188+
- source-to-shares-heavy settlement explanation.
189+
190+
V12 requirement:
191+
The operator should understand these two profiles first through:
192+
- deposit mode,
193+
- need mode,
194+
- closure shape,
195+
196+
not first through infrastructure/boundary differences.
197+
198+
---
199+
200+
# 8. Required V12 demonstration ordering
201+
202+
The default V12 demonstration SHOULD prefer this order:
203+
204+
1. repo supply,
205+
2. depositing,
206+
3. needing,
207+
4. deposit-to-need fit,
208+
5. selected asset pack,
209+
6. branch materialization,
210+
7. proof closure,
211+
8. settlement,
212+
9. deep artifacts and boundary surfaces.
213+
214+
V12 requirement:
215+
This order MUST read as one operating chain, not as separate feature panels.
216+
217+
---
218+
219+
# 9. Artifact-kind-native interaction standard
220+
221+
V12 strengthens artifact-kind-native demonstration quality.
222+
223+
Requirements:
224+
1. Different artifact kinds MUST feel natively different in deposit UX.
225+
2. Proof, patch, config, runbook, incident note, benchmark output, and mixed bundle deposits MUST each carry kind-native summaries.
226+
3. A mixed bundle MUST still preserve its internal kind composition clearly.
227+
4. The operator SHOULD be able to understand why a kind matters for the measured need before opening raw content.
228+
229+
---
230+
231+
# 10. Identity/auth as demonstration spine
232+
233+
V12 keeps the V11 identity/auth spine and raises the operator-quality bar.
234+
235+
Requirements:
236+
1. Addressing, signing, GitHub App auth, selection authority, branch authority, proof authority, and settlement authority MUST read as one chain.
237+
2. The operator SHOULD be able to summarize that chain without opening every low-level manifest.
238+
3. The identity/auth spine SHOULD feel like the system backbone, not a verification appendix.
239+
240+
---
241+
242+
# 11. Proof and settlement as necessary closure
243+
244+
V12 does not primarily add new proof families.
245+
It changes how proof and settlement are demonstrated.
246+
247+
Requirements:
248+
1. Proof MUST read as the natural closure of depositing against need.
249+
2. Settlement MUST read as the natural economic closure of proof-bearing selection.
250+
3. Source-to-shares SHOULD remain visible where normalization matters, but SHOULD not drown out the main demonstration story when the profile is targeted.
251+
4. The operator SHOULD understand why a branch was materialized and why a share was earned before reading exact accounting internals.
252+
253+
---
254+
255+
# 12. Boundary realism in V12
256+
257+
V12 preserves boundary honesty.
258+
However, boundary realism becomes a supporting explanatory layer rather than the primary demo headline.
259+
260+
Requirements:
261+
1. Boundary surfaces MUST remain explicit.
262+
2. They MUST explain modeled-local, executed-local, and external-required truth clearly.
263+
3. They MUST NOT displace depositing and needing as the main operator story.
264+
265+
---
266+
267+
# 13. Demonstration completeness standard
268+
269+
A V12 demonstration is complete when:
270+
1. depositing feels native,
271+
2. needing feels measured and consequential,
272+
3. the fit between them feels direct,
273+
4. artifact-kind diversity feels first-class,
274+
5. identity/auth feels inevitable,
275+
6. proof and settlement feel necessary,
276+
7. the whole system reads as one operating model for enterprise generative work.
277+
278+
---
279+
280+
# 14. Non-goals for V12
281+
282+
V12 does not primarily require:
283+
- major new backend architecture,
284+
- reopening already-stable core system design,
285+
- speculative infrastructure unrelated to demonstration quality,
286+
- replacing honest local stand-ins with fake live production behavior.
287+
288+
If such work becomes necessary, it SHOULD be justified by a concrete demonstration deficit.
289+
290+
---
291+
292+
# 15. Initial V12 implementation target
293+
294+
The first coherent V12 implementation slice is successful if:
295+
1. V12 docs exist and clearly state the demonstration-purpose charter,
296+
2. the demo foregrounds depositing and needing as the primary surfaces,
297+
3. deposit-to-need fit is explicitly surfaced,
298+
4. profile A/B demo distinction is legible through deposit/need/closure shape,
299+
5. tests remain green.
300+
301+
---
302+
303+
# 16. Promotion guidance
304+
305+
V12 is the first spec version that should be considered a candidate for canonical promotion primarily on demonstration strength rather than on unresolved system completion.
306+
307+
Promotion SHOULD wait until the operator story feels complete enough that only marginal edges remain.

0 commit comments

Comments
 (0)