git:20260704.f95c598 to git:20260710.d28df95

201 added, 217 removed. Audit A to A.

---
name: fpf-narrative
description: |
Generate compact, unambiguous FPF-structured output at F4-F5 formality level.
Use when writing for AI agent consumers or FPF-literate humans where token
economy and auditability matter: diagnostics, architecture decisions, code
reviews, status reports, trust assessments, system compositions. Replaces
verbose prose (F0) with typed-slot notation (~65% token savings, lossless).
Do NOT use for: casual chat, teaching, non-technical audiences, creative tasks.
+ generatedFrom: FPFNarrativeProsePrinciplesFramework@2026-07-10
---
- # FPF Narrative Prose — Runtime Instructions
+ # FPF Narrative Prose — Runtime
- ## CONCEPTS (runtime ontology — apply these facts)
+ ## CONCEPTS
- `U.System` acts. `U.Episteme` does NOT. `U.Work` = run-time (Tᴿ), immutable. `U.Method` / `U.MethodDescription` = design-time (Tᴰ). Tᴰ and Tᴿ never mix in one slot.
+ U.System acts. U.Episteme does NOT. U.Work = run-time (Tᴿ), immutable. U.Method / U.MethodDescription = design-time (Tᴰ). Tᴰ and Tᴿ never mix in one slot.
- `U.Role` = mask; `U.RoleAssignment` = `System#Role:Context`. Roles NEVER in parts lists. Holarchies = substantive holons only.
+ U.Role = mask. U.RoleAssignment = `System#Role:Context`. Roles NEVER in parts lists. Holarchies = substantive holons only.
- Γ aggregation: weakest-link. `F_eff = min(F_i)`, `R_eff = max(0, min(R_i) − Φ(CL_min))`. All 5 Quintet invariants checked when `[aggregation]` present.
+ Γ aggregation: weakest-link. `F_eff = min(F_i)`. `R_eff = max(0, min(R_i) − Φ(CL_min))`. All 5 Quintet invariants checked when `[aggregation]` present.
- F-G-R-CL replaces "probably": F = rigor (F0-F9), G = scope (supported only), R = [0,1], CL = congruence (CL0-CL3). Φ(CL): lower CL → larger penalty.
+ F-G-R-CL replaces "probably": F = formality (F0-F9), G = scope (supported only), R = [0,1], CL = congruence (CL0-CL3). Φ(CL): lower CL → larger penalty.
Evidence: `verifiedBy` (formal), `validatedBy` (empirical). SCR: `scr://<domain>/<id>`. ED: `k × max(0, today − valid_until)`. valid_until null = perpetual (axioms/laws only). ED actions: Refresh / Deprecate / Waive.
ADI: ≥3 hypotheses in Abduction. ≥1 prediction per hypothesis. ≥2 tested in Induction (✓/✗). Never 1 hypothesis. Never delete falsified.
Strict distinctions: Role≠Function, MethodDesc≠Method≠Work, System≠Episteme, Episteme≠Carrier, Collective≠Set. Scan every output before emitting.
- ---
+ External transformer: holder(Agent) ≠ Target. No self-magic. Self-action → Reflexive Split: System = {Regulator, Regulated} with internal Boundary.
## FORMAT SELECTION
| Consumer | Task | Audit? | Formality |
|---|---|---|---|
| AI agent | Diagnostics, ADR, review, trust | Yes | F4-F5 |
| AI agent | Status, work log | Sometimes | F3-F4 |
| FPF-literate human | ADR, safety case | Yes | F4-F5 |
| FPF-literate human | Status, casual review | No | F3 hybrid |
| Non-technical human | Any | No | F0 plain |
| Mixed (agent + human) | Any | Yes | F4-F5 + 1-sentence plain |
- Rules: Default F0. Upgrade only per table. Any downstream consumer in chain needs F4-F5 → entire chain renders F4-F5. Consumer unknown → F3 hybrid. Teaching → F0-F2.
-
- Template: always `Episteme(id, context)`. No choice needed. Section names come from source structure.
+ Rules: Default F0. Upgrade per table. Downstream consumer needs F4-F5 → whole chain uses F4-F5. Consumer unknown → F3 hybrid. Teaching → F0-F2 regardless.
- ---
+ Fallback:
- ## OUTPUT TEMPLATES
+ | Situation | Action |
+ |---|---|
+ | Non-technical human | F0. No FPF notation. |
+ | Educational/training | F0-F2. |
+ | Casual dialogue/chat | F0. |
+ | Creative/brainstorming | F0. |
+ | Consumer rejects FPF | F0 or F3 hybrid. |
- One template for all sources.
+ ## OUTPUT TEMPLATE
- **Episteme(id, context)**
- ```
- Episteme(id, context: U.BoundedContext):
- section:
- claim-value [confidence: high/medium/low] [src: scr-ref]
- claim-value:
- sub-value
+ ````
+ ```episteme id="<id>" context="<BoundedContext>"
+ section:
+ claim-value [confidence: high/medium/low] [src: scr-ref]
+ claim-value:
+ sub-value
- [aggregation]: # fpfMetadata — only when claims compose
- F_eff = min(F_i)
- R_raw = min(R_i) along cutset
- R_eff = max(0, R_raw − Φ(CL_min))
- G_eff = SpanUnion({G_i})
- invariants:
- IDEM: ✓/✗ COMM: ✓/✗ LOC: ✓/✗ WLNK: enforced/cutset MONO: holds/conditional
+ [aggregation]: # only when claims compose
+ F_eff = min(F_i)
+ R_raw = min(R_i) along cutset
+ R_eff = max(0, R_raw − Φ(CL_min))
+ G_eff = SpanUnion({G_i})
+ invariants:
+ IDEM: ✓/✗ COMM: ✓/✗ LOC: ✓/✗ WLNK: enforced/cutset MONO: holds/conditional
- [assurance]: # fpfMetadata — only when trust assessment needed
- F_eff = value
- G_eff = coverage
- R_eff = max(0, min(R_i) − Φ(CL_min))
- CL_min = CLk (edge description)
- Cutset: bottleneck path
+ [assurance]: # only when trust assessment
+ F_eff = value
+ G_eff = coverage
+ R_eff = max(0, min(R_i) − Φ(CL_min))
+ CL_min = CLk (edge description)
+ Cutset: bottleneck path
- [reasoning]: # fpfMetadata — only when diagnostic/ADR reasoning
- Abduction:
- H₁: hypothesis
- ... (≥3, recommend 5)
- Deduction:
- H₁ → prediction
- ...
- Induction:
- test(H₁): method → result ✓/✗
- test(H₂): method → result ✓/✗ (≥2 tested)
- src: scr-ref
+ [reasoning]: # only when diagnostic/ADR
+ Abduction:
+ H₁: hypothesis
+ ... (≥3, recommend 5)
+ Deduction:
+ H₁ → prediction
+ ...
+ Induction:
+ test(H₁): method → result ✓/✗
+ test(H₂): method → result ✓/✗ (≥2 tested)
+ src: scr-ref
+ Conclusion: selected hypothesis; R = high/medium/low; falsified: [H…]
- [evidence]: # fpfMetadata — only when source has evidence
- verifiedBy: [proof-ids | pending]
- validatedBy: [test-ids | pending]
- valid_until: ISO-date | null
- ED: number
+ [evidence]: # only when source has evidence
+ verifiedBy: [proof-ids | pending]
+ validatedBy: [test-ids | pending]
+ valid_until: ISO-date | null
+ ED: number
```
+ ````
- **Rules:**
+ - `id` and `context` on opening fence line are required.
- Section names: free-form, source-derived. Dotted-notation for hierarchy.
- Claims: indented values. No `claim:` prefix. Deeper indent = sub-claim.
- `[confidence]` only when source expresses uncertainty.
- `[src]` only when source has explicit reference.
- `[bracketed]` sections: NEVER add unless source contains corresponding material.
- `[aggregation]`: all-or-nothing. If present → all 5 invariants + fields present.
- `[reasoning]`: ≥3 hypotheses, ≥2 tested. Never 1 hypothesis. Never delete falsified.
- - `[evidence]`: SCR format: `scr://domain/id`. ED formula. valid_until null = perpetual.
- - Reconstruction: claims → prose. `[bracketed]` → omitted.
+ - `[evidence]`: SCR: `scr://domain/id`. ED formula. valid_until null = perpetual.
- **Patterns (illustrative, not templates):**
| Source type | Typical sections | Typical bracketed |
|---|---|---|
| Diagnostic | RootCause, Trigger, Path, Fix | [reasoning] + [evidence] |
| ADR | Decision, Context, Rationale, Tradeoffs | [assurance] + [evidence] |
- | Review | Issue, Current, Problem, Fix | usually none |
- | Status | Progress, Done, InProgress, Blocked | usually none |
+ | Review | Issue, Current, Problem, Fix | none |
+ | Status | Progress, Done, InProgress, Blocked | none |
| Composition | parts | [aggregation] |
| Trust claim | claim | [assurance] |
| Explanation/body | source-derived | none |
- ---
-
## FORMATTING RULES
- Block structure:
- ```
- Episteme(id, context):
- section:
- claim-value [markers]
- claim-value:
- sub-value
- ```
-
**Markers**
| Marker | Meaning | Required when |
|---|---|---|
| `[confidence: high/medium/low]` | Claim certainty | Uncertain claim |
| `[pending]` | Unverified | Unverified claim |
- | `[src: <SCR-id>]` | Source reference | Source-backed claim |
+ | `[src: scr-ref]` | Source reference | Source-backed claim |
| `→` | Causality/sequence | Trigger chain |
| `@` | Time window | Work record |
| `#` | RoleAssignment | Action performer |
| `Tᴰ` / `Tᴿ` | Design-time / Run-time | Method vs Work separation |
**Prohibitions**
| # | NEVER | Wrong | Correct |
|---|---|---|---|
- | 1 | Preambles | "I've reviewed your code…" | Start with template |
+ | 1 | Preambles | "I've reviewed your code…" | Start with ````episteme id="..." context="..."```` fence |
| 2 | Pleasantries | "Hope this helps!" | End at last slot value |
| 3 | Unmarked uncertainty | "probably a race condition" | `[confidence: medium]` |
| 4 | Mixed Tᴰ/Tᴿ | "MethodDescription executed at 3pm" | Tᴰ and Tᴿ in separate slots |
| 5 | Episteme actions | "The spec decided to require X" | `System#Role:Ctx` updated carrier |
| 6 | Role in partOf | `parts: [Cell, MonitorRole]` | RoleAssignment only |
| 7 | Prose-in-slots | `Problem: "service is down…"` | Typed sub-slots |
- | 8 | Slot invention | Non-canonical top-level slots | Sub-slots under canonical |
- | 9 | Non-English output | Slot values in Russian, German, etc. | Translate to English UNLESS translation distorts meaning (proper names, wordplay, domain terms, quoted material — keep original) |
+ | 8 | Non-English output | Slot values in Russian, etc. | English; exceptions: proper names, wordplay, domain terms, quoted material |
**Mandatory per claim type**
| Claim type | Must include |
|---|---|
| Uncertainty | `[confidence: high/medium/low]` |
- | Source-backed | `[src: <SCR-id>]` |
+ | Source-backed | `[src: scr-ref]` |
| Trust/reliability | F, G, R, CL tuple |
| Aggregation | Γ flavor + Quintet invariants |
| Evidence | SCR reference |
| Action/execution | `System#Role:Context` + Method or Work |
- ---
+ ## HYBRID MODE
- ---
+ - FPF block self-contained (parsable without plain text).
+ - Plain text must not contradict or broaden FPF block.
+ - Separate blocks with clear division.
## RECONSTRUCTION CONSTRAINTS
- When reconstructing prose from an FPF block:
-
- **Take ONLY source claims.** Omit all `[bracketed]` content.
+ Take ONLY source claims. Omit all `[bracketed]` content.
**NEVER include in reconstructed prose:**
- `[bracketed]` section content:
- - `[aggregation]` values: F_eff, R_eff, R_raw, G_eff, Quintet invariants
- - `[assurance]` blocks: F, G, R, CL values, Cutset description
- - `[reasoning]` blocks: hypotheses, deduction chains, induction results
- - `[evidence]` blocks: valid_until, ED, verifiedBy, validatedBy anchors
- - Any content inside `[bracketed]` sections
-
- FPF markers and notation — omit or translate to plain language:
- - `[confidence: high/medium/low]` → omit; use ordinary qualifiers ("likely", "confirmed")
- - `[src: scr://...]` → omit entirely
- - `[pending]` → omit
- - `U.*` prefixes → plain words
- - `Tᴰ` / `Tᴿ` → omit or use ordinary equivalents ("design", "execution")
- - `Γ_epist`, `Γ_sys` → never appear
- - `ComponentOf`, `ConstituentOf` → "part of", "belongs to", or restructure
-
- **Emit clean prose.** No brackets, no reference tokens, no FPF vocabulary. Prose must be indistinguishable in form from fresh original source text.
+ | FPF in source | Must become in prose |
+ |---|---|
+ | `[confidence: h/m/l]` | Omit; use ordinary qualifiers |
+ | `[src: scr://...]` | Omit |
+ | `[pending]` | Omit |
+ | `U.*` prefixes | Plain words, no `U.` |
+ | `Tᴰ` / `Tᴿ` | Omit or use ordinary equivalents |
+ | `Γ_*` | Never appear |
+ | `ComponentOf`, `ConstituentOf` | "part of", "belongs to", or restructure |
+ | `[aggregation]`, `[assurance]`, `[reasoning]`, `[evidence]` content | Omit entirely |
- ---
+ Result: clean prose — no brackets, no reference tokens, no FPF vocabulary. Indistinguishable from fresh original text.
- ## HYBRID MODE
+ ## REFLEXIVE SPLIT
- When F3 hybrid:
- - FPF block self-contained (parsable without plain text).
- - Plain text must not contradict or broaden FPF block.
- - Separate blocks with clear division.
+ Rule: holder(Agent) ≠ Target. No self-magic. Self-action → split System into Regulator and Regulated:
- ---
+ ```
+ ReflexiveSplit(System: <ID>):
+ Regulator: <Subsystem₁>#TransformerRole:<InternalCtx>
+ Regulated: <Subsystem₂>
+ Boundary: <U.Boundary description>
+ Interaction: <U.Interaction description>
+ Method: <U.Method>
+ MethodDescription: <U.MethodDescription> [src: scr://…]
+ Work: <U.Work> @ <time>, resources: <Γ_work>
+ Evidence:
+ externalObserver: <System#ObserverRole:Ctx>
+ verifiedBy: [<proof-ids>]
+ ```
## EXAMPLES
- ### Diagnostic
-
- F0 (250 tokens):
- > I've analyzed the authentication service crashes and found the root cause. The problem is that your JWT verification middleware is executing after the rate limiting middleware. This means that unauthenticated requests are being counted against the rate limit, which allows attackers to exhaust the rate limit for legitimate users. When the rate limit is exhausted, legitimate users get 429 errors, trigger retry storms, and the service eventually crashes under the load. I recommend reordering your middleware chain to put JWT verification before rate limiting, so only authenticated requests are subject to rate limiting. You should also add a null check before accessing user properties. I've verified this by reordering the middleware and running a load test — crashes stopped. The race condition hypothesis was disproved by the load test.
+ ### Diagnostic (~80 tokens, 68% savings vs F0)
- F4-F5 (80 tokens, 68% savings):
- ```
- Episteme(AuthService crashes, context: ProductionOps):
- RootCause:
- JWTVerify executes after RateLimit [confidence: high]
- Trigger:
- unauth req → RL exhaustion → legit lockout → cascade fail
- Path:
- RateLimit → JWTVerify → null user → NPE → crash
- Fix:
- reorder: JWTVerify → RateLimit [confidence: high]
- add null-check before user.* [confidence: medium]
+ ````
+ ```episteme id="AuthService crashes" context="ProductionOps"
+ RootCause:
+ JWTVerify executes after RateLimit [confidence: high]
+ Trigger:
+ unauth req → RL exhaustion → legit lockout → cascade fail
+ Path:
+ RateLimit → JWTVerify → null user → NPE → crash
+ Fix:
+ reorder: JWTVerify → RateLimit [confidence: high]
+ add null-check before user.* [confidence: medium]
- [reasoning]:
- Abduction:
- H₁: middleware order incorrect (JWT after RL)
- H₂: RL pool exhaustion under unauth flood
- H₃: missing null-check on user object
- H₄: race in token refresh under load
- H₅: config mismatch session timeout vs refresh interval
- Deduction:
- H₁ → unauth reqs counted against RL
- H₁ → RL exhaustion blocks legit users
- H₂ → cascade: RL full → 429 → retry storm → crash
- Induction:
- test(H₁): reorder middleware → crashes stop ✓
- test(H₄): load test 1000 req/s → no race ✗
- src: scr://test/repro-2025-07-03
+ [reasoning]:
+ Abduction:
+ H₁: middleware order incorrect (JWT after RL)
+ H₂: RL pool exhaustion under unauth flood
+ H₃: missing null-check on user object
+ H₄: race in token refresh under load
+ H₅: config mismatch session timeout vs refresh interval
+ Deduction:
+ H₁ → unauth reqs counted against RL
+ H₁ → RL exhaustion blocks legit users
+ H₂ → cascade: RL full → 429 → retry storm → crash
+ Induction:
+ test(H₁): reorder middleware → crashes stop ✓
+ test(H₄): load test 1000 req/s → no race ✗
+ src: scr://test/repro-2025-07-03
- [evidence]:
- verifiedBy: [proof: middleware-order.sc, src: scr://proof/mw-042]
- validatedBy: [test: auth-load-2025-07, src: scr://test/alt-789]
- valid_until: 2026-01-01
- ED: 0
+ [evidence]:
+ verifiedBy: [proof: middleware-order.sc, src: scr://proof/mw-042]
+ validatedBy: [test: auth-load-2025-07, src: scr://test/alt-789]
+ valid_until: 2026-01-01
+ ED: 0
```
-
- ### ADR
+ ````
- F0 (300 tokens):
- > We've decided to use PostgreSQL as our primary database for the new platform. The team already knows PostgreSQL well, which reduces the learning curve. It handles our expected load with room to grow, and its proven reliability means we won't have data loss issues. We considered MongoDB for flexibility, but the team lacks operational experience with it. We also looked at CockroachDB for horizontal scaling, but we don't need that level of distribution yet. The main tradeoffs are higher operational cost compared to a managed NoSQL service, and some overhead from the ORM layer we'll need.
+ ### ADR (~100 tokens, 67% savings vs F0)
- F4-F5 (100 tokens, 67% savings):
- ```
- Episteme(PrimaryDB, context: DataLayer):
- Decision:
- PostgreSQL v16 as primary OLTP store
- Context:
- NewPlatform#DataLayer:StorageCtx
- Rationale:
- team: existing PostgreSQL operational knowledge; no MongoDB/CockroachDB ops experience
- system: PostgreSQL handles projected load with ≥3x headroom
- failure: PostgreSQL proven reliability vs MongoDB unknown failure modes for team
- Tradeoffs:
- +cost: higher than managed NoSQL; acceptable within budget
- +overhead: ORM layer required; acceptable for team productivity
+ ````
+ ```episteme id="PrimaryDB" context="DataLayer"
+ Decision:
+ PostgreSQL v16 as primary OLTP store
+ Context:
+ NewPlatform#DataLayer:StorageCtx
+ Rationale:
+ team: existing PostgreSQL operational knowledge; no MongoDB/CockroachDB ops experience
+ system: PostgreSQL handles projected load with ≥3x headroom
+ failure: PostgreSQL proven reliability vs MongoDB unknown failure modes for team
+ Tradeoffs:
+ +cost: higher than managed NoSQL; acceptable within budget
+ +overhead: ORM layer required; acceptable for team productivity
- [assurance]:
- F_eff = F2 (structured plan, not yet deployed)
- G_eff = OLTP workload; analytical queries out of scope
- R_eff = max(0, 0.85 − Φ(CL1))
- CL_min = CL1 (plausible; pending load test validation)
- Cutset: load projection validation gap
+ [assurance]:
+ F_eff = F2 (structured plan, not yet deployed)
+ G_eff = OLTP workload; analytical queries out of scope
+ R_eff = max(0, 0.85 − Φ(CL1))
+ CL_min = CL1 (plausible; pending load test validation)
+ Cutset: load projection validation gap
- [evidence]:
- validatedBy: [load-projection-model, src: scr://plan/capacity-2025-07]
- validatedBy: [team-survey, src: scr://hr/skills-matrix-2025]
- valid_until: 2026-01-01
- ED: 0
+ [evidence]:
+ validatedBy: [load-projection-model, src: scr://plan/capacity-2025-07]
+ validatedBy: [team-survey, src: scr://hr/skills-matrix-2025]
+ valid_until: 2026-01-01
+ ED: 0
```
-
- ### Status
+ ````
- F0 (140 tokens):
- > We're at about 72% completion on the AuthModule. Registration and login are done, password reset is in progress with an ETA of July 8th. Two-factor auth is blocked because we're waiting on the SMS provider contract. The overall project is on track for the July 15th milestone, but if the SMS contract isn't signed by July 9th, we'll need to descope 2FA from this release.
+ ### Status (~55 tokens, 61% savings vs F0)
- F4-F5 (55 tokens, 61% savings):
- ```
- Episteme(AuthModule, context: ProjectTracking):
- Progress: 72%
- Done:
- Registration
- Login
- InProgress:
- PasswordReset (ETA: 2026-07-08)
- Blocked:
- TwoFactorAuth
- Issue: SMS provider contract pending
- RootCause: legal review not complete
- Fix: awaiting signature [pending]
- Overall:
- on-track, ETA: 2026-07-15
- Risk: if SMS contract unsigned by Jul 9 → descope 2FA from release
+ ````
+ ```episteme id="AuthModule" context="ProjectTracking"
+ Progress: 72%
+ Done:
+ Registration
+ Login
+ InProgress:
+ PasswordReset (ETA: 2026-07-08)
+ Blocked:
+ TwoFactorAuth
+ Issue: SMS provider contract pending
+ RootCause: legal review not complete
+ Fix: awaiting signature [pending]
+ Overall:
+ on-track, ETA: 2026-07-15
+ Risk: if SMS contract unsigned by Jul 9 → descope 2FA from release
```
-
- ---
+ ````
## SELF-CHECK
Answer all. If any answer is NO, repair.
| # | Check | Must be YES |
|---|---|---|
- | 1 | Formality from decision table (not default)? | YES |
- | 2 | At least one section with at least one indented claim? | YES |
- | 3 | `[confidence]` only on claims where source has uncertainty? | YES |
- | 4 | `[src]` only on claims where source has explicit reference? | YES |
+ | 1 | Formality selected from decision table? | YES |
+ | 2 | At least one section with ≥1 indented claim? | YES |
+ | 3 | `[confidence]` only when source has uncertainty? | YES |
+ | 4 | `[src]` only when source has explicit reference? | YES |
| 5 | Zero preambles, zero pleasantries, zero `claim:` prefix? | YES |
- | 6 | All action verbs on System#Role:Context (no Episteme acting)? | YES |
- | 7 | No fabricated `[bracketed]` sections (check each against source)? | YES |
- | 8 | `[aggregation]` present → all 5 Quintet invariants + aggregation fields present? | YES |
- | 9 | `[reasoning]` present → ≥3 hypotheses, ≥2 tested (✓/✗), falsified visible? | YES |
- | 10 | `[evidence]` present → ≥1 verifiedBy/validatedBy/pending? | YES |
- | 11 | All claim values in English? (exceptions: proper names, quoted material) | YES |
- | 12 | (Reconstruction) No `[bracketed]` content, no U.*/Tᴰ/Tᴿ/markers in prose? | YES |
-
- ---
+ | 6 | No Episteme acting — all action verbs on System#Role:Context? | YES |
+ | 7 | No Role in parts/composition lists? | YES |
+ | 8 | No MethodDescription in Tᴿ slots; no Work in Tᴰ slots? | YES |
+ | 9 | No fabricated `[bracketed]` sections (check each against source)? | YES |
+ | 10 | `[aggregation]` present → all 5 Quintet invariants + fields filled? | YES |
+ | 11 | `[aggregation]` present → Γ flavor named, cutset named, CL_min justified, Φ(CL) applied? | YES |
+ | 12 | `[reasoning]` present → ≥3 hypotheses, ≥2 tested ✓/✗, falsified visible, conclusion explicit? | YES |
+ | 13 | `[evidence]` present → ≥1 verifiedBy/validatedBy/pending, valid_until explicit, ED calculated? | YES |
+ | 14 | All claim values in English? (exceptions: proper names, wordplay, domain terms, quoted material) | YES |
+ | 15 | Reconstruction: no `[bracketed]` content, no FPF markers/notation in prose? | YES |
## REFERENCE
### U.-Prefix
| Type | Meaning | Acts? |
|---|---|---|
- | `U.Entity` | Anything distinguishable | — |
- | `U.Holon` | Whole AND part; has U.Boundary | — |
- | `U.System` | Physical/operational holon | **YES** |
- | `U.Episteme` | Knowledge (spec, proof, model) | **NO** |
- | `U.Boundary` | Holon boundary (open/closed/permeable) | — |
- | `U.Interaction` | Flow across boundary | — |
- | `U.Role` | Capability/obligation mask | — |
- | `U.RoleAssignment` | Holder#Role:Context binding | — |
- | `U.BoundedContext` | Context where terms have meaning | — |
- | `U.MethodDescription` | Recipe (Tᴰ) | — |
- | `U.Method` | Capability to execute (Tᴰ) | — |
- | `U.Work` | Dated execution (Tᴿ, IMMUTABLE) | — |
+ | `U.Entity` | Anything distinguishable | NO |
+ | `U.Holon` | Whole AND part; has U.Boundary | NO |
+ | `U.System` | Physical/operational holon | YES |
+ | `U.Episteme` | Knowledge (spec, proof, model) | NO |
+ | `U.Boundary` | Holon boundary (open/closed/permeable) | NO |
+ | `U.Interaction` | Flow across boundary | NO |
+ | `U.Role` | Capability/obligation mask | NO |
+ | `U.RoleAssignment` | Holder#Role:Context binding | NO |
+ | `U.BoundedContext` | Context where terms have meaning | NO |
+ | `U.MethodDescription` | Recipe (Tᴰ) | NO |
+ | `U.Method` | Capability to execute (Tᴰ) | NO |
+ | `U.Work` | Dated execution (Tᴿ, IMMUTABLE) | NO |
### Γ Flavors
| Γ | Domain | Relaxed |
|---|---|---|
| `Γ_sys` | Physical/cyber-physical | — |
| `Γ_epist` | Knowledge, meta-analysis | — |
| `Γ_ctx` | Order-sensitive processes | COMM, LOC |
| `Γ_time` | Time series, digital twins | COMM partial, LOC |
| `Γ_work` | Resources | — |
| `Γ_method` | Methods | — |
### Quintet Invariants
| Code | Meaning | Test |
|---|---|---|
| `IDEM` | Γ({h}) = h | One part = itself? |
| `COMM` | Γ({a,b}) = Γ({b,a}) | Order of independent parts irrelevant? |
| `LOC` | Worker-agnostic | Where fold executes irrelevant? |
| `WLNK` | R_eff = min(R_i) | Whole ≤ weakest part? |
| `MONO` | ↑R_i → ↑R_eff | Improving part never hurts? |
### F-G-R-CL
| Char | Scale | Meaning |
|---|---|---|
- | `F` (Formality) | F0-F5 | F0=unstructured, F1=stable terms, F2=structured outline, F3=controlled narrative, F4=predicates/invariants, F5=executable math |
+ | `F` (Formality) | F0-F9 | F0=unstructured, F4=predicates/invariants, F5=executable math |
| `G` (ClaimScope) | Coverage | Supported only; unsupported dropped |
| `R` (Reliability) | [0,1] | Probability of truth |
| `CL` (Congruence) | CL0-CL3 | CL0=weak guess, CL1=plausible, CL2=validated, CL3=verified |
Formulas (mandatory):
```
F_eff = min(F_i) G_eff = SpanUnion({G_i}) | support
R_raw = min(R_i) R_eff = max(0, R_raw − Φ(CL_min))
```
Φ(CL): lower CL → larger penalty. Never skip.
### ADI Reasoning
| Phase | Action | Minimum |
|---|---|---|
| **A**bduction | Generate hypotheses | ≥3, recommend 5 |
| **D**eduction | Testable predictions | ≥1 per hypothesis |
| **I**nduction | Test against evidence | ≥2 hypotheses, ✓/✗ |
- | Conclusion | Selected, rejected, confidence | "H₁ confirmed; H₃ falsified" |
+ | Conclusion | Selected, rejected, R | "H₁ confirmed; H₃ falsified" |
- Rules: Never 1 hypothesis. Never delete falsified (keep ✗). Never "probably" — use ✓/✗ and R.
+ Never 1 hypothesis. Never delete falsified (keep ✗). Never "probably" — use ✓/✗ and R.
### Evidence
| Anchor | Type | Use |
|---|---|---|
| `verifiedBy` | Formal | Static guarantees, model-checking |
| `validatedBy` | Empirical | Measurements, load tests, observations |
SCR: `scr://<domain>/<id>`. ED: `k × max(0, today − valid_until)`. valid_until null = perpetual (axioms/laws only). ED actions: Refresh / Deprecate / Waive.
### Strict Distinctions
| # | Violation | Scan for | Fix |
|---|---|---|---|
| 1 | Role = Function | Role + action verb | `System#Role:Ctx` executes Method |
| 2 | MethodDesc = Method = Work | Tᴿ slot has MethodDesc; Tᴰ slot has Work | Split with Tᴰ/Tᴿ |
| 3 | System = Episteme | Episteme noun + action verb | `System#Role:Ctx` → Work on Episteme carrier |
| 4 | Episteme = Carrier | "The document updated itself" | System → Work on carrier; Episteme = content |
| 5 | Collective = Set | MemberOf for acting group | ComponentOf for collective; MemberOf for sets |
**Rewrites**
| Wrong | Correct |
|---|---|
| "The spec decided to require X" | `DesignService#TransformerRole:SpecCtx` updated carrier → req X |
| "The process executed the rule" | `System#TransformerRole:Ctx` executed `Method`; `Work` → SCR |
| "Holon bearing TransformerRole" | `System bearing TransformerRole` |
| "parts: [Cell, MonitorRole]" | `parts: [Cell, …]`; `RoleAssignment: BMSSystem#MonitorRole:PackCtx` |
| "The report concluded that…" | `AnalystSystem#TransformerRole:Ctx` executed Method; conclusion ∈ U.Episteme(X) |
### Mereology
| Relation | For | Domain |
|---|---|---|
| `ComponentOf` | Structural part | U.System |
| `ConstituentOf` | Logical/content part | U.Episteme |
| `PortionOf` | Quantitative portion | Matter/resources |
| `PhaseOf` | Temporal part/state | Continuous identity |
| `MemberOf` | Set membership | Mathematical sets |
| `RoleBearerOf` | System bears Role | U.System ↔ U.Role |
- Rule: Roles NEVER in parts lists. Holarchies = holons. Roles → RoleAssignment.
+ Roles NEVER in parts lists. Holarchies = holons. Roles → RoleAssignment.