Internal post-call report · 2026-05-05 → 2026-05-06

Grammar v0.5 review locks 30 rules and elevates two persistent errors into hard linters.

The third refinement meeting after the v0.4 lockdown. Team reviewed an AHA Pressure Test report under the v0.5 grammar, named the rules to canonicalize, and converged on a single canonical grammar with paid customization as the productization path.

Meeting
Grammar 4 Review and Updates on ShurIQ Report Studio
Date
2026-05-05 · 73 min
Participants
Jonny Dubowsky · Limore Shur · Diana Horowitz · Nuri (N Djavit)
Source
Fireflies recording + transcript
Method
4-agent parallel extraction (Direct Address · Repeated Theme · Anti-Pattern · Structured Rule)

Snapshot

What this round delivered

The 4-agent extraction pass surfaced ~110 rule-shaped statements from the transcript, dedup'd against the 19 existing memory feedback files into ~30 distinct rules for the v0.6 contract. Two existing canonical rules failed in the AHA report and earn pre-publish regex linters. The team converged on a single canonical grammar — client-specific stylistic variants are billable customization, never default templates.

30
Distinct new rules canonicalized in v0.6
2
Persistent errors promoted to hard pre-publish linters
≥4
Leakage occurrences caught in one report after prior canonical guidance
73
Meeting minutes — three working reports reviewed
We have one version. Our version is the version. If they want customization, they can pay us a lot of money to customize it. Nuri · 36:39 · the canonical-grammar-policy line

What was decided

The thirty rules locked in v0.6

Each card below summarizes one rule from the v0.6 runtime contract. Full canonical text, source quotes, and runtime impact live in applied-decisions-2026-05-05.md. Cards group by scope.

Global typography & layout

R-GLOBAL.2 · global

Fixed-width body shell, ~12 words per line cap

Body content renders inside a max-width container — never pinned to browser width. Wide monitors get readable line-lengths; mobile inherits the same column.

R-GLOBAL.3 · global

Left- or full-justify body paragraphs only

Centered or half-justified body paragraphs are forbidden. Pull-quotes and section title cards may center.

R-GLOBAL.4 · global

2- or 3-column blocks for parallel content

Long-form prose with parallel items renders as columned blocks on desktop and stacks on mobile. Paragraphs never span the full viewport width.

R-GLOBAL.1 · global

One canonical grammar per archetype

Client-specific stylistic variants (Atlantic, New Yorker, custom typography) are billable customization engagements, never default template variants.

R-GLOBAL.5 · global

Every report ships a paired LLM-Primer

A starter prompt for the reader's own AI: define terms first, answer at three depth levels, surface caveats. Pairs with the markdown so the reader composes against the report.

R-GLOBAL.7 · global

Structural Advantage Score = interactive viz, never bare prose

Every SAS render uses the interactive scroll-bound visualization with synchronized side-panel readout. Static SAS imagery is deprecated.

§02 Letter from the Editor

R-§02.1 · letter

Strip section-routing meta-prose from the opening

The opening delivers reader-facing meaning. Sentences like "The Reframe lives at §10" or "the work is structural. No engagement metrics" stay in the appendix or build log.

R-§02.2 · letter

Frame as observation + question; never instruct conclusions

The reader self-arrives. Imperative thesis statements ("the answer is", "they should X") undermine the executive reader.

R-§02.3 · letter

Negative claims ride with diagnostic context

A negative ("X cannot succeed via mechanism Y") ships only with the structural reason — never as bare dismissal.

R-§02.4 · sales

Editorial Brief — Sales filters the pipeline

The brief is filtration. Misreads are correct outcomes — those readers self-disqualify. Never spoon-feed.

§03 Numbers Spine

R-§03.1 · numbers

Featured visual stat blocks above the fold

Each anchor stat = one block: large numeral, qualifier on the same horizontal band, breathing room. Reader pulls the headline number in <1 second.

R-§03.2 · numbers

Strip citation-policy meta-prose

"10 anchors carry inline citations… subsequent sections reference these values without reciting" is forbidden in body. Citation chain notes belong in the appendix.

R-§03.3 · numbers

Snackable first; depth optional

Headlines pull the eye; the supporting detail is one click or one scroll away. Stacked small-type runs are cognitive overload.

§08 Network Analysis / Strategic Discourse Map

R-§08.1 · network

Open with one canonical layperson sentence

"This measures the strength of the concepts between each other." Rewrite once, reuse system-wide. Assume the reader has never seen a knowledge graph.

R-§08.4 · network

Strategic Discourse Map is the canonical render

Sticky scroll, click-or-hover for detail. Static scattergram alternatives are deprecated.

R-§08.3 · network

Max-canvas embed; legend off the chart

Default to full-screen / max-canvas. If framed, the chart is maximized and the legend renders outside the chart bounds.

R-§08.5 · network

IBM Plex Mono on chart text + label-to-node padding

Chart labels in IBM Plex Mono. Minimum 8px padding from node radius to label baseline prevents overlap.

R-§08.6 · network

Hover discipline — name only by default

Default state shows entity name; influence values and detail surface on rollover via a floating panel.

§11 Structural Gaps + §12 What Breaks

R-§11.1 · gaps

Severity taxonomy: Critical / Notable / Priority

Named buckets with editorial meanings. Priority is the singleton imperative — the one that needs to be on every wrist. Numeric scores supplement labels but never appear unlabeled.

R-§11.2 · gaps

2- or 3-column block layout on desktop

Run-on paragraphs across the full page width are forbidden. Mobile inherits the block structure.

R-§11.3 · gaps

Embed the live scroll-linked viewport inline

The interactive frame ships in the report body — not linked out. Static rendering is fallback only.

R-§12.1 · breaks

Forward consequence only; never restate §11

§12 covers the if-nothing-changes future. Anti-restatement check enforces the boundary.

R-§12.2 · breaks

"In Practice" replaces "In Operation"

Sub-section labels read as plain editorial English. Two speakers caught this rewrite within thirty seconds.

R-§12.3 · breaks

One block per sub-gap, large title between each

Multiple sub-gaps never collapse into a run-on paragraph. Each gets a distinct container with a section-scale title.

R-§12.4 · breaks

Atlantic editorial register for visualization breaks

Long stretches get a viz break between sub-blocks. Register is serious longform — New Yorker cartoon-style breaks are forbidden.

R-§12.5 · breaks

End on cost-of-inaction → §13 hand-off

The closing block names what it costs to leave the gaps open.

§13 Competitive Lens · §14 Method Audit · §17 Action Set

R-§13.1 · ai-guide

Affirmative AI-guide framing

"An AHA-grade AI guide is an evidence-grounding layer over the validated corpus." The earlier "is not a chatbot" form trips the inversion-rhetoric linter.

R-§13.2 · ai-guide

"The corpus is the moat" — locked verbatim

Canonical second-position thesis line for AI-guide positioning. Reuse exactly; do not paraphrase.

R-§14.1 · method-audit

Signal vs. inference columns are load-bearing

The §14 table reflects database fields. The distinction governs deliverable structure and BMC integration — never collapse into prose summary.

R-§17.1 · action-set

Sequencing renders as a diagram, never prose

"Action 1 and 2 in parallel, then Action 3" is forbidden. DAG, swimlane, or Gantt-style diagram primitive only.

R-§17.2 · action-set

Each move names the gap it closes

Closure tracking surfaces in the recurring report cadence. Add-on services map to closing increments.

R-§17.3 · action-set

Close on a forward-projected reader-facing scenario

The 25-year-old ER scenario is the reference template. Concrete, second-person or future-tense prose lands the report.

Methodology + process

R-METHOD.1 · architecture

Stack-rank ↔ report share one knowledge graph

Every report ships with a stack ranking for its industry. Cross-reference between surfaces appears in the Studio UI. Same brain, same database.

R-METHOD.3 · stack-rank

Composite = 5-dimension coordinate

Strength · Narrative Ownership · Community Strength · Monetization · [+1 TBD]. A position, not a scalar. The stability layer rides on top.

R-METHOD.4 · stack-rank

Stability layer ships, jargon stays in the appendix

"Control theoretic", "basin of attraction", "Lyapunov", "equilibrium" never appear in body copy. Plain capital-efficiency framing only.

R-METHOD.6 · process

Post-call rules go into both grammars

The post-call processing agent records every direct-address rule into both report grammar and visual grammar. Visual implications never land only in prose.

R-ARCH.1 · archetype

Reader / Layperson variant: zero jargon, no acronyms

Operationalizes the deferred Q2.5 reader-mode tagging. Gentle on-ramp for executive readers expert in their own field, not in graph analysis.

R-METHOD.5 · sourcing

Health-vertical research sourcing prefers non-US

European and Korean studies first; US public-health corpus is contaminated during the current administration. Vertical-specific guidance, not global.

Persistent errors named

Two existing rules failed in production. Both become hard linters in v0.6.

Documentation alone is insufficient when the failure mode is a reflexive LLM pattern. v0.6 promotes both to pre-publish regex linters that block deploys when violations slip through.

R-LINT.1 · inversion rhetoric

Lead with the affirmative claim. Drop "X, not Y" inversion framing.

Failures observed. "This is a starting point, not a verdict." (§02). "Trust travels through devices and consumer health platforms, not through campaigns." (§02). "An AHA-grade AI guide is not a chatbot. It is an evidence-grounding layer that revalidates." (§13 — Nuri endorsed the content; the form is in violation).

Why. The "X, not Y" construction is the most obvious AI-text tell. Already canonical in feedback_no_inversion_rhetoric.md since 2026-04-28. Production system broke the rule again.

Linter. Pre-publish regex on body copy: \bnot (a |an |the |through |just |only )?\w+[,.]?\s+(but|it'?s|it is|rather)\b. Block deploy. Override via build-log comment for direct quotes / legal disclaimers.

R-LINT.2 · scaffolding-as-prose

Body copy carries substance only. Routing scaffolding lives in the build log.

Failures observed. Four occurrences in the AHA report alone — "10 anchors. Each carries an inline citation tracing back to the primary score in the appendix. Subsequent sections reference these values without reciting" (§03 — Nuri caught it at 16:55); "The Reframe lives at §10. The Method Audit at §14 labels every load-bearing claim as signal or inference. The scope and source set are bounded in §05" (§02 — flagged via post-meeting screenshot); "Five breaks, unpacked into operational consequences. Numeric values reference the Numbers Spine without re-citing" (§11/§12 — flagged post-meeting); plus the §02 prelude Limore flagged at 09:33.

Why. The agent ships its internal scaffolding (section-routing references, citation-discipline meta-prose, model planning text) as reader-facing body copy. Limore at 09:33: "This means nothing. Just to anybody. None of this means anything." Jonny at 31:20 named it: "It's a leak. It's called leakage."

Linter. Reject builds containing any of §\d+, Section \d+, inline citation, traces? back to, without (re-?)?citing, Numbers Spine (in body — appendix label only), unpacked into operational, promoted from the discourse graph, \b\d+ anchors?\b, \b\d+ breaks?, unpacked\b, load-bearing claim (in body). Methodology terms stay in appendix.

What's next

Roadmap from this round forward

Four parallel tracks. The grammar refinement extraction work is complete with this round; the runtime encoding work picks up next session.

Next session
Encode v0.6 into runtime Bump GRAMMAR_VERSION from v0.5v0.6 in app/functions/lib/grammar.ts, app/src/lib/grammar.ts, and app/wrangler.toml. Wire up the two pre-publish linters (R-LINT.1 + R-LINT.2). Possible new migration if any rule requires schema changes (severity-bucket enum, LLM-Primer artifact, paired stack-rank).
Next session
Live regen of the AHA Pressure Test under v0.6 Validate the new contract end-to-end. The two linters should catch the leakage and inversion-rhetoric instances at build time. Compare side-by-side with the v0.5 generation that triggered this meeting.
After regen
Refresh the AHA review constellation aha-real-viz-v04 / aha-pressure-v04 / aha-real-pressure-bridge-v04 rebuilt under v0.6. Version label depends on whether GRAMMAR_VERSION bumped — likely v06 suffix for the new constellation. Internal review set for the team.
Forward project
Stack-Ranking grammar lockdown — a multi-session pass Comparable to the v0.4 → v0.6 lockdown loop. Five-dimension coordinate framing, stability layer integration, capital-efficiency multiplier visualization, plain-English naming for the control-theoretic math, Studio integration so reports and stack ranks generate in the same environment. Ratify the 5th dimension name (placeholder: Activation). Iterate over ~3 review meetings.
Forward project
Studio interface integration The MVP front-end — log in, generate report, generate stack rank, surface cross-reference. Bringing the two grammars into one runtime is what closes the v0.5 → MVP gap Jonny called at 1:12:25.
Parallel
System architecture work continues Lyapunov stability layer and Totem Protocol scripting per HANDOFF-2026-05-02-system-architecture-iteration.md. Independent of this grammar track — runs in parallel.
Stage 1b
Repeat-edit detector → in-product rule promotion The 2026-04-30 deferred feature. This meeting was a manual run of the pattern; the in-product detector is unbuilt. Surface "promote this edit to a rubric rule?" inline on rendered sections.
~10 engagements
Competitor-set recalibration module Deferred from 2026-04-30. After enough cross-vertical data accumulates, ship the §13 sub-module: "you named these three competitors; given your structural position and dimensional gaps, here are three others you should track instead."

Outstanding questions

Five questions surfaced but not resolved

Each carries a placeholder default that ships in v0.6. When a generated report visibly bumps into one, log the observation and patch.