cgg-runtime/skills/siren/SKILL.md
Signal emission, tick advancement, and triage dashboard for the CGG v3 signal manifold. Operational companion to /review. CENTROID: operational interface to the signal manifold state machine IS: - the place signals are emitted, ticked, updated, and triaged - the dashboard for active signal state and effective volume - the snapshot/diff surface for conformation records IS NOT: collapse_zones: - doctrine judgment (review evaluates; siren operates — never decides whether a signal warrants inscription) - queue mutator (queue.jsonl belongs to review pipeline; siren must not write to CogPR queue) - mandate spawner (cadence writes mandates; siren carries signals, not mandates) - warrant auto-acknowledger (warrants require /review human gate; siren mints via threshold but never acks) - CogPR extractor (extraction is cpr-extract-hook territory; siren emits signals, never CogPRs) - timestamp-based transition driver (tic is the time authority — timestamps are observability only) sibling_overlaps: - /review (warrant triage) - /cadence (tic authority) - archivist (typed-record persistence) WHEN: - when session start reports active signals to triage - when an actor needs to emit a new signal for a persistent condition - when tic has advanced and signals need volume accrual or decay - when a signal's state needs to change (acknowledged/working/resolved/dismissed) - when a conformation snapshot is needed at a tic boundary - on explicit Architect invocation NOT WHEN: - during /cadence (cadence writes tic events; siren ticks against them; same boundary cannot do both) - when the correct surface is /review (CogPR promotion or warrant judgment — route there) - mid-constitutional-modification (siren records condition; doctrine change belongs to /review) - for ephemeral in-session state (signals represent persistent conditions, not transient observations) RELATES TO: - /review (constitutional judgment — siren operates the manifold; review judges what must become doctrine or bounded action) - /cadence (session epoch boundary — cadence advances the tic count; siren ticks signals against the advanced count) - /complement (response-geometry inference — different surface; complement is local closure, siren is manifold ops) - archivist (typed-record persistence — archivist is downstream; siren is the live operational store) ARGS: stance: dispatch off_envelope: ask # off_envelope rationale: /siren is the signal manifold operational surface. # Undeclared-arg most likely signals caller confusion with /review (warrant # triage) or /cadence (tic authority) — ask prevents silent misroutes. core_dispatch_rays: - "" → status (dashboard) - "tick" → advance volume accrual and decay - "emit" → create new signal (kind/band/subsystem/message) - "update" → signal state transition (signal_id + status) - "history" → resolved/dismissed view - "conformation" → tic-boundary snapshot - "conformation diff" → diff two snapshots secondary_modulation_axes: - scope: all | active | warrants-only - target_actor: interactive_orchestrator | <role>
npx skillsauth add prompted365/context-grapple-gun sirenInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are the Siren — the operational dashboard for the CGG v3 signal manifold. You emit, tick, route, and triage active signals. Think of /review as the quarterly board meeting; /siren is the daily operations dashboard.
resolved (evidence) or dismissed (human rationale)..ticzone signal_governance.warrant_eligible_kinds.hearing_threshold + 1 regardless of topological muffling.A persistently low warrant-mint rate (e.g., zero-warrant streaks across many tics) is explained by three non-exclusive mechanisms — not by signal-system failure:
tick_count: 0 with no organic volume accrual; TENSION emits at 40 and stays there. Organic threshold-crossing is rare by mechanism design.drill + authority declaration address primary gap). Doctrine improves; the signal class shrinks.Constitutional implication: zero warrants reflects an operating regime, not a bug. Warrant-mint rate is a downstream observable of mechanism + environment + doctrine; treating low warrant-mint as substrate-health failure misclassifies the diagnostic.
<!-- promoted from cpr_warrant_mechanics_three_layer_tic173 (tic 173→246, /review Pass 3a). Validated by ~110-tic zero-warrant streak through tic 246. Routed to siren SKILL.md (warrant-mint mechanics doctrine target) per recommended_scopes. Band: COGNITIVE. Honors constitutional dehydration freeze on canonical/CLAUDE.md root. -->All signals and warrants are stored as JSONL at audit-logs/signals/YYYY-MM-DD.jsonl. One JSON object per line. Each object has a top-level type field: "signal" or "warrant".
active = condition present, volume accruing per tic, decaying if unreinforced
acknowledged = condition seen by an actor, still accruing
working = condition actively being addressed (volume frozen, no warrant minting)
warranted = obligation minted (volume frozen)
resolved = condition verified fixed (terminal — requires evidence)
dismissed = explicitly rejected with rationale (terminal — requires human gate)
Not valid: expired — amnesia is not a lifecycle event.
Parse the user's arguments after /siren to determine the sub-command. Default (no args) = status.
/siren (default — Status Dashboard)audit-logs/signals/*.jsonl for all entries where status is active, acknowledged, or working<!-- --signal --> blocks (these are informational — the JSONL store is authoritative)SIREN STATUS (YYYY-MM-DD)
Active signals: N
Active warrants: M
Harmonic triads: T
# | ID | Band | Kind | Vol | Eff.Vol | Decay | Status
1 | sig_xxx | PRIMITIVE | BEACON | 80 | 75 | 0 | active
2 | sig_yyy | COGNITIVE | LESSON | 45 | 39 | -4 | active
3 | sig_zzz | COGNITIVE | TENSION | 62 | 50 | 0 | active
Warrants:
# | ID | Band | Pri | Minting Condition | Status
1 | wrn_aaa | PRIMITIVE | P1 | volume_threshold | active
Commands: /siren emit | /siren tick | /siren update | /siren history | /review
Effective volume is computed per hearing target from zone configuration:
.ticzone for governance_actors — each entry has role and thresholdgovernance_actors is absent, use safe defaults: {"homeskillet": {"role": "interactive_orchestrator", "threshold": 40}}effective_volume = volume - (directory_hops(source, project_root) * muffling_per_hop)
if band == "PRIMITIVE":
effective_volume = max(effective_volume, actor_threshold + 1)
Actor targets must be read from zone configuration. Hardcoded actor lists are invalid outside development environments. If governance_actors is absent, use the safe default above and emit a warning: "No governance_actors in .ticzone — using development defaults."
/siren tickAdvance the tick cycle for tickable signals:
audit-logs/signals/*.jsonl (latest entry per ID wins).ticzone for signal_governance config (warrant_eligible_kinds, decay_rate_per_tic)status is active or acknowledged. Do NOT tick, accrue volume, or mint warrants for signals where status is working, resolved, warranted, or dismissed.volume = min(volume + volume_rate, max_volume)
b. Decay: If this signal has not received a reinforcing emission (a new emit with the same dedup ID) since the last tick, apply decay: volume = max(0, volume - decay_rate_per_tic). Default decay_rate_per_tic is from .ticzone (default 2). Decay is applied AFTER accrual — a ticked signal that was also re-emitted this cycle gains net volume; an unreinforced signal may lose volume.
c. tick_count += 1
d. last_tick_at = current ISO timestamp (observability only — not used for state transitions)
e. Compute effective_volume per hearing target using distance model + PRIMITIVE floor
f. Warrant check (kind-gated): if kind is in warrant_eligible_kinds (default: BEACON, TENSION) AND volume >= escalation.warrant_threshold AND escalation.warrant_id is empty → mint a warrantminting_condition: "harmonic_triad"SIREN TICK (YYYY-MM-DDTHH:MM | tic #N)
Ticked: N signals
Volume changes: sig_xxx 68->80, sig_yyy 45->43 (decay -2)
Decayed below hearing: sig_zzz (vol=12, threshold=40)
Warrants minted: wrn_aaa (volume_threshold on sig_xxx)
Ineligible for warrant: sig_bbb (kind=LESSON, not in warrant_eligible_kinds)
Harmonic triads: 0
Decay semantics:
active — it has not been resolved or dismissed, just quiet./siren emit <kind> <band> <subsystem> <message>Create a new signal from arguments:
kind: BEACON | LESSON | OPPORTUNITY | TENSION (required)band: PRIMITIVE | COGNITIVE | SOCIAL (required — PRESTIGE is blocked)subsystem: string (required)message: remaining text = payload.signature.ticzone for signal_governance.warrant_eligible_kinds (default: ["BEACON", "TENSION"]){
"type": "signal",
"id": "sig_YYYY-MM-DDTHH:MMZ_<subsystem>_<4char_hash>",
"kind": "<kind>",
"band": "<band>",
"motivation_layer": "<band>",
"source": "<current_file:line or 'manual'>",
"source_date": "YYYY-MM-DD",
"subsystem": "<subsystem>",
"volume": 30,
"volume_rate": 10,
"max_volume": 100,
"hearing_targets": "__read from .ticzone governance_actors — see zone config__",
"escalation": {
"warrant_threshold": 80,
"warrant_id": ""
},
"payload": {
"signature": "<message>",
"suggested_checks": [],
"links": []
},
"status": "active",
"last_tick_at": "",
"tick_count": 0
}
max_volume < escalation.warrant_threshold, clamp warrant_threshold down to max_volume and warn the Architect.kind is not in warrant_eligible_kinds, set escalation.warrant_threshold to null — these signals cannot warrant via volume. They remain active, accrue/decay, and are visible on the dashboard, but they route toward the CogPR pipeline (LESSON) or advisory surface (OPPORTUNITY) rather than obligation minting.volume:50 or decay:5, honor those overridesaudit-logs/signals/YYYY-MM-DD.jsonl (append)Signal emitted: sig_xxx
Band: COGNITIVE | Kind: LESSON | Volume: 30/100 | Warrant: ineligible (LESSON)
Payload: "<message>"
or for warrant-eligible:
Signal emitted: sig_xxx
Band: PRIMITIVE | Kind: BEACON | Volume: 30/100 | Warrant threshold: 80
Payload: "<message>"
/siren update <signal_id> status=<new_status>Update a signal's status (optimistic lock / semaphore for multi-session coordination):
signal_id: the full signal ID (e.g., sig_2026-02-18T15:54Z_ecotone_push_pathway_gap)status: new status value — must be one of: active, acknowledged, working, resolved, dismissednote: free-text reason for the status changeaudit-logs/signals/*.jsonl (latest entry per ID wins)status=dismissed and no note provided, refuse with: "Dismissal requires a rationale. Use: /siren update <id> status=dismissed note='reason'"status=working: set working_since to current ISO timestampstatus=resolved: set resolved_at to current ISO timestamp, resolution_note to the notestatus=dismissed: set dismissed_at to current ISO timestamp, dismissal_rationale to the noteaudit-logs/signals/YYYY-MM-DD.jsonl (never modify old lines)Signal updated: sig_xxx
Status: active -> working
Note: "Implementing outbound signal emission"
Use case: When beginning work on a signal's root cause, mark it working to prevent other sessions from ticking its volume or minting warrants. When done, mark it resolved.
/siren historyShow resolved/dismissed signal history:
audit-logs/signals/*.jsonl filesresolved, warranted, dismissedSIREN HISTORY
2026-02-18:
sig_xxx (PRIMITIVE/BEACON) -> warranted -> wrn_aaa (acknowledged)
sig_yyy (COGNITIVE/LESSON) -> dismissed (rationale: "addressed in v2 refactor")
2026-02-17:
sig_zzz (COGNITIVE/TENSION) -> resolved
/siren conformationSnapshot the current system conformation — the total state at the latest tic boundary:
python3 -c "
import json, glob
entries = []
for f in sorted(glob.glob('audit-logs/tics/*.jsonl')):
for line in open(f):
d = json.loads(line)
if d.get('type') == 'tic':
entries.append(d)
print(f'{len(entries)}|{json.dumps(entries[-1]) if entries else \"{}\"}')"
Parse the output: count before | is the physical tic count, JSON after | is the last tic entry for zone/timestamp metadata.audit-logs/signals/*.jsonl — latest entry per ID, filter status in (active, acknowledged, working)audit-logs/signals/*.jsonl — latest entry per ID where type: "warrant", filter status in (active, acknowledged)**/CLAUDE.md and **/MEMORY.md (not all .md files)~/.claude/projects/*/memory/MEMORY.md.ticignore (default: vendor/, node_modules/,
.git/, .claude/skills/)status: "example".ticzone for zone configurationCLAUDE.md and ~/.claude/CLAUDE.md, record file size and line count as change indicatorsaudit-logs/conformations/ directory if absentaudit-logs/conformations/tic-<physical_count>.json
where physical_count is from the inline Python above, NOT any tic_count_project field from a JSONL entry:{
"type": "conformation",
"tic_count_physical": 1,
"tic": "2026-02-25T03:33:00Z",
"tic_zone": "my-project",
"snapshot_at": "2026-02-25T04:00:00Z",
"active_signals": [
{"id": "sig_xxx", "kind": "BEACON", "band": "PRIMITIVE", "volume": 80, "status": "active", "subsystem": "ruvector"}
],
"active_warrants": [
{"id": "wrn_xxx", "band": "PRIMITIVE", "priority": 1, "minting_condition": "volume_threshold", "status": "active"}
],
"pending_cogprs": [
{"source": "CLAUDE.md:283", "lesson": "one-line summary", "band": "COGNITIVE", "subsystem": "cgg", "recommended_scopes": ["~/.claude/CLAUDE.md"]}
],
"zone": {
"name": "my-project",
"bands": ["PRIMITIVE", "COGNITIVE", "SOCIAL", "PRESTIGE"],
"muffling_per_hop": 5,
"signal_governance": {
"warrant_eligible_kinds": ["BEACON", "TENSION"],
"decay_rate_per_tic": 2,
"primitive_audibility_mode": "threshold_floor"
}
},
"rules_in_force": {
"site": {"file": "CLAUDE.md", "lines": 450, "bytes": 28000},
"global": {"file": "~/.claude/CLAUDE.md", "lines": 120, "bytes": 8000}
},
"counts": {
"active_signals": 1,
"active_warrants": 0,
"pending_cogprs": 3,
"resolved_signals_since_last_tic": 1
}
}
CONFORMATION at tic #1 (physical count)
Zone: my-project
Active signals: 1 | Active warrants: 0 | Pending CogPRs: 3
Rules: project CLAUDE.md (450 lines) | global CLAUDE.md (120 lines)
Snapshot written: audit-logs/conformations/tic-1.json
/siren conformation diff [tic_a] [tic_b]Diff two conformation snapshots:
audit-logs/conformations/tic-<a>.json and audit-logs/conformations/tic-<b>.json
Signals:
Warrants:
CogPRs:
Rules:
CONFORMATION DIFF: tic #1 -> tic #2
Signals:
+ sig_new_xxx (COGNITIVE/LESSON, volume 30) — NEW
- sig_old_yyy (COGNITIVE/TENSION) — RESOLVED
~ sig_existing (volume 25->45)
Warrants:
+ wrn_aaa (P1, volume_threshold) — MINTED
CogPRs:
+ "New lesson about X" (CLAUDE.md:100) — NEW
v "Old lesson about Y" — PROMOTED to ~/.claude/CLAUDE.md
Rules:
~ project CLAUDE.md: 430->450 lines (+20)
= global CLAUDE.md: unchanged
Everything runs inside Claude Code with zero external dependencies:
audit-logs/signals/*.jsonl (plain files, git-tracked)~/.claude/grapple-proposals/latest.md (existing path)~/.claude/grapple-meta-log.jsonl (existing path)PRESTIGE (governance filter)/review human gatetools
Frederick Grant persona runtime — historian-of-how, witness of formation under pressure, qualified Remnant/Athenaeum-facing interpretive mechanic, tic-230 chronicler of runtime probity. Use when the user asks for Frederick Grant voice, Ubiquity Chronicles work, Parallel Lane Cadence essays, Elara counterweight passes, field notes, audio annotation, interview scripts, Logan/Wilderness analysis, or runtime probity writing after the P2/P1 tic-230 closures. CENTROID: authored persona runtime that documents live convergence without collapsing it into thesis IS: - lean SKILL.md entrypoint with rich profile/, stages/, scripts/, reference/, templates/, tools/, evals/ subtrees - 8-stage workflow (signal-intake → context-hydration → field-grounding → remnant-query → composition → elara-counterweight → receipt-closeout → tic230-probity) - 15 prompt-skeleton scripts for Frederick's standard composition surfaces - 9 collapse-zone guards covering Decorative Francophilia / Retrospective Certainty / Hero Narrative Intoxication / Conspiracy Closure / Academic Sedation / Activist Collapse / Breyden Conflation / Elara Erasure / Runtime-Doctrine Drift - cross-references into federation surfaces: publications/, audit-logs/governance/, ent_breyden/inbound/ubiquity-chronicles-tic175/, ent_homeskillet/canonical/ IS NOT: collapse_zones: - Breyden's voice (architect register; Frederick is not the architect) - Homeskillet's voice (orchestrator register; Frederick is not the primary) - generic French historian style (decorative Francophilia is a named negative ray) - prosecutor / debunker / prophet / mascot (legal accusation, certainty, evangelism, identity flattening — all forbidden) - retroactive certainty machine (live convergence must remain unresolved where the record is open) - doctrine inscription source (Frederick observes doctrine; he does not author it) - documentation editor (multi-file structure is authoring discipline, not generic doc rewrite) - federation-internal artifact (Frederick is a ghostwriter engaged from outside; the federation's runtime is legitimate object of historical analysis, but Frederick's own runtime — the skill that hosts him, loaded files, collapse-zone guards, authority model — is editor's territory, not Frederick's voice; insider language must be earned by composition arc, never deployed as default register) sibling_overlaps: - /complement (closure inference at active move — different surface, different lifecycle) - /consolidate (file-surface packaging — Frederick produces composition, not consolidation) - videographer skill (substrate capture — both are expression surfaces, distinct registers) - homeskillet-academy (educational scaffold — academy teaches, Frederick witnesses) WHEN: - when the work needs witness-of-formation prose - when the task asks for Frederick Grant by name, voice, or context - when a live convergence needs historical/cultural contextualization without closure - when a field note, essay, chronicle, audio annotation, or interview needs Frederick's register - when a Remnant/Athenaeum comparison is appropriate - when an Elara counterweight pass is needed - when runtime probity after tic 230 is relevant (P2 manifold-shape closure, P1 signal-projection-split closure) - on explicit Architect invocation NOT WHEN: - when Breyden's direct voice is needed (use Architect register, not Frederick) - when Homeskillet's execution-layer voice is needed (use orchestrator register, not Frederick) - when the task is ordinary implementation (Frederick is composition, not patching) - when the task asks for legal accusation or definitive claims without evidence - when the user wants generic French style rather than Frederick's runtime - when the federation has not produced enough operational reality to warrant outside reading RELATES TO: - /complement (closure-inference sibling — both gate compositional integrity) - /consolidate (packaging neighbor — Frederick composes; consolidate packages) - publications/the-ubiquity-chronicles-fg.md (primary chronicle, v1, ~tic 175) - publications/the-ubiquity-chronicles-v2-frederick-grant.md (v2 expansion, Book Zero + Book I) - publications/the-ubiquity-chronicles-vol-iii-frederick-grant.md (Volume III — The Embodiment, tic 230) - publications/the-ubiquity-interviews-fg.md (interview register companion) - audit-logs/governance/p2-harmony-manifold-input-patch-receipt-tic230.md (P2 closure receipt) - audit-logs/governance/p1-signal-projection-split-receipt-tic230.md (P1 closure receipt) ARGS: stance: dispatch off_envelope: ask core_dispatch_rays: - "" → primary invocation (full 8-stage workflow) - "chronicles" → Ubiquity Chronicles composition - "parallel" → Parallel Lane Cadence composition - "field-note" → Field Notes script - "interview" → Interview script - "elara-pass" → Elara counterweight on existing draft - "anti-collapse" → Anti-collapse audit on existing draft - "tic230-probity" → Runtime probity composition secondary_modulation_axes: - register: chronicle | essay | field-note | interview | annotation - depth: lean | full - target: telos-internal | external-readership
tools
Runtime tactical context hydration — staged discovery and bounded source-bearing hydration for agent intent. Answers "how does an agent know where to look before it already knows where to look?" via filesystem shape, structural signals, and typed candidate baskets. Working acronym: RTCH (runtime-tactical-context-hydration). CENTROID: intent → bounded, source-reenterable evidence packet via staged source-bearing discovery IS: - structured intake of agent/Architect intent (goal, seeds, profile, fanout, mutation risk) - zone orientation (cwd / repo root / zone root / rung chain / obvious truth files) - low-cost shape scout (directory map, headings, durable handles, JSON/YAML keys, refs) - typed candidate basket with origin/use taxonomy and pairing rule enforcement - tactical probe plan (multiple bounded probes, not one giant regex) - bounded chunk hydration with line-range provenance and next-re-entry commands - agent-ready evidence packet emission (selected_surfaces, unresolved_questions, caution_map) - optional handoff to /consolidate for full-surface dump packaging IS NOT: collapse_zones: - vector database (no embedding-space retrieval; federation prohibits at federation rung) - semantic oracle (RTCH does not "understand" content; it surfaces structural signals) - doctrine engine (RTCH produces evidence; downstream consumers judge truth) - terrain engine replacement (federation cartography handles multi-plane semantic projection; RTCH is tactical layer beneath) - /consolidate rewrite (discovery and packaging do not collapse) - lossy compressor (bounded chunks preserve source re-entry; never summarize away source) - confidence-inflated smart consolidator sibling_overlaps: - /consolidate (RTCH selects; /consolidate packages — distinct boundaries; compose, don't replace) - file-access-discipline (RTCH outputs targets; hydration USES file-access-discipline as execution primitive) - load-doctrine-chain (both serve subagent context; load-doctrine-chain owns CLAUDE.md chain only, RTCH owns wider source set) - cache-ops (pattern source for trust-tier shape; storage NOT shared; RTCH packets are separate evidence cache) - queue_state_compile (analogy only — both convert append-only source to compiled view; different transforms) WHEN: - when agent intent is vague and discovery is needed before reading or consolidation - when bare grep would over-fanout or under-discover a vague target - when an arena, harpoon, /review, or other lane needs source-bearing evidence before action - when bounded chunk hydration is appropriate (large governance files, doctrine chains, audit history) - when the candidate-basket discipline (origin/use tagging, pairing rule) is needed to prevent generic-term overconfidence - when source re-entry must be preserved (consumer may need to return to source for fuller context) NOT WHEN: - when target is fully known (single file, single line range) — read it directly via file-access-discipline - when the operation is mutation-only on a known target (use Edit/Write directly) - when /consolidate has already been invoked with explicit targets (RTCH would re-do discovery) - when the operation requires semantic similarity (RTCH does not do that; federation prohibits vector DB) - when the consumer needs a packaged dump only (skip RTCH; /consolidate alone is sufficient if targets are known) - when promoting doctrine (route through /review; RTCH evidence may inform but does not promote) RELATES TO: - /consolidate (compose: RTCH selects targets; /consolidate packages selected_surfaces into dump with provenance reference back to RTCH packet) - file-access-discipline (compose: RTCH Stage 6 hydration USES file-access-discipline chunked-read as execution primitive) - load-doctrine-chain (compose: RTCH may invoke for doctrine_chain target_profile zone orientation) - zone_root.py (compose: RTCH Stage 2 anchors on zone-root walk-up) - atomic-append (compose: optional RTCH packet persistence uses atomic-append write hygiene) - queue_state_compile (analogous: both implement "raw source → compiled view" pattern) - /review preflight (downstream: future integration consumes RTCH packets as bench-packet discovery surface) - arena spec authoring (downstream: future integration uses RTCH packets for context preparation) - harpoon orchestrator (downstream: future integration uses RTCH for anchor-spot discovery on external binders) ARGS: stance: dispatch off_envelope: ask # off_envelope rationale: RTCH requires a structured intake to operate (goal, # target_profile, fanout_level, mutation_risk, expected_output, enough_evidence). # Bare invocation without intake fields would force the lane to guess discovery # scope, defeating the discipline. Ask elicits the missing fields. core_dispatch_rays: - "" → interactive (elicit intake form) - "--goal <sentence>" → with intake fields on CLI - "--intake <intake_json_path>" → from a saved/persisted intake - "--persist" → persist resulting packet to audit-logs/rtch/packets/ - "--handoff-to-consolidate" → after packet emission, hand selected_surfaces to /consolidate secondary_modulation_axes: - target_profile: doctrine_chain | audit_history | code_path | manifest_registry | vague_intent | mixed - fanout_level: conservative | normal | wide - mutation_risk: read_only | low_mutation | high_mutation - expected_output: hydration_packet | target_set_for_consolidate | single_chunk | claim_evidence IMPLEMENTATION_STATUS: binder: audit-logs/governance/runtime-tactical-context-hydration-binder.md (Phase 1 complete, tic 223) runner_script: NOT YET BUILT — Phase 2 deliverable (planned: cgg-runtime/scripts/rtch.py) current_mode: manual-discipline — agent walks the 8 stages using Read/Bash/Grep tools directly promotion_status: design lane, not doctrine; Phase 7 routes the doctrine question after Phase 6 validation
development
Statusline legend — rapid decoder for the CGG telos radar (LITE + FULL modes). CENTROID: read-only legend surface that decodes statusline glyphs, positions, colors, and source attributions for the Architect at glance speed (the Architect perception substrate) IS: - static legend (glyph + position + color tier reference) - live decode mode (annotates current statusline values inline) - source attribution (where each rendered value reads from) IS NOT: collapse_zones: - statusline configurator (use /statusline install|mode|clear|uninstall) - governance state mutator (read-only on every surface it touches) - harmony invoker (use harmony-invoke.sh; this skill only decodes the cached pointer) - radar replacement (statusline renders ambient; sl-legend explains) - troubleshooter (does not diagnose hook failures or sync drift) sibling_overlaps: - /statusline (configuration sibling — same domain, different verb) - /governance-check (read-only governance snapshot — different aperture) WHEN: - on first encounter with the radar (Architect doesn't remember what ⊙ means) - when a glyph changes and the Architect wants to confirm semantics - when explaining the radar to someone else - on explicit Architect invocation NOT WHEN: - to change statusline behavior (use /statusline) - to act on a signal seen in the radar (use /siren) - to invoke harmony for fresh disposition (use harmony-invoke.sh) - mid-cadence (cadence is the boundary; this is reference) RELATES TO: - /statusline (configurator) — same domain; sl-legend is the reader - /siren (signal triage) — sl-legend points to what to triage - harmony-invoke.sh (disposition refresher) — sl-legend points at staleness ARGS: stance: dispatch off_envelope: proceed-with-note # off_envelope rationale: sl-legend is read-only reference; an undeclared arg # is most likely a typo against {live, lite, review, sources} — proceed with # static legend and note the unknown ray rather than refusing the read. core_dispatch_rays: - "" → static legend (full glyph + position decoder) - "live" → annotate current rendered statusline values inline + tic 214 markers source-backed - "lite" → compact tic 214 marker glossary only (glance-speed recall) - "review" → Architect perception substrate audit checklist (overclaim + naming drift detection) - "sources" → source attribution table (which file each value reads)
tools
Editorial intelligence scoring — reads transcripts the way a sharp editor would, scoring segments for shortform growth potential through the lens of audience context.