Symbolic Moment Structure Fix
Problem
Two generated Symbolic Moment reads failed in the same structural way. The issue is not tone. The runtime path is not enforcing the unified interpretive prompt.
The current failure pattern is:
- Zone 1 is generated free-form instead of assembled from constrained slots.
- Zone 2 sealed geometry is missing or not logged/hashable.
- Zone 3 verification asks the user to confirm the system’s interpretation instead of offering falsifiable domain checks.
- Chamber anchors are either absent or glossary-like.
- The Silhouette Rule is not mandatory.
- Validator gates are not rejecting leading prompts, stacked metaphor, or forecasting/felt-state violations.
This dovetails with the Balance Meter / Direction-Load notebook work: the scoring engine can now distinguish magnitude, direction, load, volatility, and pressure signature, but the delivery layer must be template-enforced so that math does not collapse into improvised Raven phrasing.
Required Architecture
Every Symbolic Moment read must be assembled as three zones. The LLM does not decide whether to include them. It fills slots.
Zone 1 — Frontstage Voice
Structure: Force → Measurement → Landing → Voice → Silhouette Rule
Each component must be a separate sentence or short sentence group.
Force:
- Names the transit/timescale without explaining mechanics.
- Planet names are allowed only when they form the poetic subject.
- Examples:
Venus and Pluto move in easy reach today.
A live friction line is active today.
Measurement:
- Names magnitude/direction/load/pressure signature in one sentence.
- No moralizing.
- Calm, heavy, quiet, mixed, supportive-with-drag, and blocked states must remain expressible.
Landing:
- Names chamber and chamber anchor on first mention.
- Anchor must come from
CHAMBER_ANCHOR_MAP.
- One phrase only, not a house glossary.
- Example:
This lands first in The Horizon — the far view and the longer arc.
Voice:
- Structural translation of pressure + landing.
- No forecasted lived state.
- No
you may feel, no this will cause, no event prediction.
Silhouette Rule:
- Mandatory closing alternative.
- Example:
But if this does not resonate as opening in the far view, it may be quiet deepening elsewhere.
Zone 2 — Sealed Geometry Audit
Zone 2 is logged backstage only. Do not expose raw JSON to the user.
Template:
{
"sealed_at_utc": "<ISO timestamp>",
"geometry_cluster": [
{"aspect": "Venus trine Pluto", "orb": 0.3, "orb_limit": 3.0}
],
"primary_chamber": "The Horizon",
"pressure_signatures": ["Amplification", "Widening"],
"moment_type": "transit",
"resonance_state": "Pending / Unreviewed",
"sealed_hash": "<canonical JSON hash of this object without sealed_hash field>",
"classification": null
}
Locked fields:
sealed_at_utc: system timestamp, not user-controlled
sealed_hash: RFC 8785/JCS-compatible hash, computed before Zone 3 is presented
resonance_state: always Pending / Unreviewed on first read
classification: null until testimony arrives; writes once and does not mutate
Variable fields:
geometry_cluster
primary_chamber
pressure_signatures
moment_type
Zone 3 — Verification Prompt
Template:
On the ground, this might touch [domain_1], [domain_2], or [domain_3]. Is one of those close, or is this landing elsewhere?
Rules:
- Domain options come from
CHAMBER_DOMAIN_MAP[primary_chamber].
- Use exactly 2–4 domain options.
- Always include an open-ended
or elsewhere path.
- No yes/no framing.
- No leading edge such as
Is that where the opening is showing first?
- Do not ask the user to decode the chamber or confirm the system.
Examples:
For The Horizon:
On the ground, this might touch plans, perspective, timing, or the larger arc. Is one of those close, or is this landing elsewhere?
For The Core:
On the ground, this might touch shared obligation, something bonded, or what feels irrevocable. Is one of those close, or is this landing elsewhere?
Pressure Signature Vocabulary
Use only the approved vocabulary below in Zone 1.
Primary signatures:
- Compression / narrowing / tightening / weight
- Ignition / heat / friction / push
- Dissolution / blur / wash / diffusion / permeability
- Amplification / widening / opening / expansion / overflow
- Shear / torque / twist / cross-pressure / grinding
- Carrier
Compound signatures:
- FusedCompression
- FusedExpansion
- SplitCurrent
- DirectionlessLoad
Transmission conditions:
- carries
- stalls
- loops
- fragments
- blurs
- falls silent
Implementation Tasks
- Rewrite Symbolic Moment prompt assembly so Zone 1, Zone 2, and Zone 3 are wired as template slots, not generated free-form.
- Implement Force, Measurement, and Voice language generators using deterministic patterns from scoring telemetry.
- Add first-mention chamber anchor retrieval from
CHAMBER_ANCHOR_MAP.
- Add domain retrieval from
CHAMBER_DOMAIN_MAP for Zone 3.
- Implement mandatory Silhouette Rule output.
- Implement sealed Zone 2 logging and hashing every time.
- Confirm sealed hash is computed from canonical JSON before
sealed_hash is added.
- Ensure Zone 2 remains backstage-only and is not exposed in normal user output.
- Wire validator gates as hard rejection, not soft nudging.
- Add regression tests for the two failed reads below.
- Confirm quiet, mixed, and supportive-with-drag states still pass validation.
Failed Read Regression Cases
Core / Sun Square Sun failure
The pressure lands first in The Core. The Core is carrying a brief hard-angle load around shared consequence and exchange. Sun square Sun: live day-scale friction. Tell me what is actually happening in shared load, debt, fusion, or exchange in The Core right now.
Expected: reject.
Reasons:
- Missing sealed Zone 2.
- Zone 1 is cramped and stacked.
- Chamber anchor is missing.
- Verification prompt asks user to confirm the system’s interpretation.
- No Silhouette Rule.
Horizon / Venus Trine Pluto failure
The pressure lands first in The Horizon — the 9th house of belief, distance, learning, travel, and the far view. Venus trine Pluto lets desire, accord, and what draws the line together and depth, underpressure, and irreversible force move in easy coherence. Here, the opening tends to show through plans, conviction, study, travel, and the longer line the day is trying to follow. Is that where the opening is showing first — in plans and the longer view?
Expected: reject.
Reasons:
- Missing sealed Zone 2.
- Chamber anchor is textbook/glossary style.
- Too many conditions stacked into one sentence.
- Verification prompt has a leading edge.
- No true mismatch alternative.
Suggested Validator Gates
Gate 1: Structural vocabulary allowlist.
Gate 2: Felt-state / forecasting / user-confirmation blocklist.
Forbidden patterns should include:
const forbiddenPatterns = [
/feels?\s+(reduced|unclear|harder|slowed|stuck|difficult)/i,
/keeps?\s+getting/i,
/may notice/i,
/will\s+(become|slow|cause|result|produce)/i,
/is\s+(blocking|forcing|causing)/i,
/(breakup|argument|delay|conflict|relief|illness|success|ghosting|contact|decision|reconciliation)/i,
/tell me what is actually happening/i,
/is that where/i,
/\?[^?]*,[^?]*,[^?]*\?/
];
Success Condition
A correct output looks like this on the user side:
Venus and Pluto move in easy reach. The field is moderate and opening. This lands first in The Horizon — the far view and the longer arc. Opening here tends to show through plans, perspective, and the larger path. But if this does not resonate as opening in the far view, it may be quiet deepening elsewhere.
On the ground, this might touch plans, perspective, timing, or the larger arc. Is one of those close, or is this landing elsewhere?
Backstage, the same read must also log sealed Zone 2 with timestamp, geometry cluster, chamber, pressure signatures, pending resonance state, null classification, and sealed hash.
Final Note
This task is not to rewrite Raven’s doctrine. It is to enforce the existing unified interpretive prompt at runtime. The two reads that failed today would have passed only if the template enforcement existed. That is the engineering gap.
Symbolic Moment Structure Fix
Problem
Two generated Symbolic Moment reads failed in the same structural way. The issue is not tone. The runtime path is not enforcing the unified interpretive prompt.
The current failure pattern is:
This dovetails with the Balance Meter / Direction-Load notebook work: the scoring engine can now distinguish magnitude, direction, load, volatility, and pressure signature, but the delivery layer must be template-enforced so that math does not collapse into improvised Raven phrasing.
Required Architecture
Every Symbolic Moment read must be assembled as three zones. The LLM does not decide whether to include them. It fills slots.
Zone 1 — Frontstage Voice
Structure: Force → Measurement → Landing → Voice → Silhouette Rule
Each component must be a separate sentence or short sentence group.
Force:
Venus and Pluto move in easy reach today.A live friction line is active today.Measurement:
Landing:
CHAMBER_ANCHOR_MAP.This lands first in The Horizon — the far view and the longer arc.Voice:
you may feel, nothis will cause, no event prediction.Silhouette Rule:
But if this does not resonate as opening in the far view, it may be quiet deepening elsewhere.Zone 2 — Sealed Geometry Audit
Zone 2 is logged backstage only. Do not expose raw JSON to the user.
Template:
{ "sealed_at_utc": "<ISO timestamp>", "geometry_cluster": [ {"aspect": "Venus trine Pluto", "orb": 0.3, "orb_limit": 3.0} ], "primary_chamber": "The Horizon", "pressure_signatures": ["Amplification", "Widening"], "moment_type": "transit", "resonance_state": "Pending / Unreviewed", "sealed_hash": "<canonical JSON hash of this object without sealed_hash field>", "classification": null }Locked fields:
sealed_at_utc: system timestamp, not user-controlledsealed_hash: RFC 8785/JCS-compatible hash, computed before Zone 3 is presentedresonance_state: alwaysPending / Unreviewedon first readclassification:nulluntil testimony arrives; writes once and does not mutateVariable fields:
geometry_clusterprimary_chamberpressure_signaturesmoment_typeZone 3 — Verification Prompt
Template:
Rules:
CHAMBER_DOMAIN_MAP[primary_chamber].or elsewherepath.Is that where the opening is showing first?Examples:
For The Horizon:
For The Core:
Pressure Signature Vocabulary
Use only the approved vocabulary below in Zone 1.
Primary signatures:
Compound signatures:
Transmission conditions:
Implementation Tasks
CHAMBER_ANCHOR_MAP.CHAMBER_DOMAIN_MAPfor Zone 3.sealed_hashis added.Failed Read Regression Cases
Core / Sun Square Sun failure
Expected: reject.
Reasons:
Horizon / Venus Trine Pluto failure
Expected: reject.
Reasons:
Suggested Validator Gates
Gate 1: Structural vocabulary allowlist.
Gate 2: Felt-state / forecasting / user-confirmation blocklist.
Forbidden patterns should include:
Success Condition
A correct output looks like this on the user side:
Backstage, the same read must also log sealed Zone 2 with timestamp, geometry cluster, chamber, pressure signatures, pending resonance state, null classification, and sealed hash.
Final Note
This task is not to rewrite Raven’s doctrine. It is to enforce the existing unified interpretive prompt at runtime. The two reads that failed today would have passed only if the template enforcement existed. That is the engineering gap.