Home / Audio / Scripts and Tracks

Daytime Anchor - render the clean track + wire C31 (steps)

Updated Jun 24, 2026 · Affirmology_DaytimeAnchor_RenderAndC31_Steps_v1.md

Summary. Paste into a Claude Code window on the Mac:

Daytime Anchor - render the clean track + wire C31 (steps)

ROUTE 1 - render the clean script verbatim (do this for the audio today)

Paste into a Claude Code window on the Mac:

Render my clean Daytime Anchor verbatim through the engine. Voice the script file WORD FOR WORD (no regeneration, no chart structure, keep it first person):

cd /Users/jeffreyparker/CLAUDE/AFFIRMOLOGY/affirmology-agent
.venv/bin/python -m affirmology.cli \
  --name "Jeff Parker Love" --date 1982-09-11 --time 16:19 --location "Anderson, SC" \
  --script-file "../Affirmology_DaytimeAnchor_Script_v3_clean.txt" \
  --audio --music "music/Heavenly Circuit.mp3" --loop-music \
  --pace deep --qc-retries 2 --no-pdf \
  --out ./out/daytime-clean

Confirm the flags against cli.py first, then run. When done, play ./out/daytime-clean/*.mp3 and tell me the length and that QC passed. If I want it longer, we add more unique sections, not repeats.

ROUTE 2 - wire C31 so the engine generates clean automatically (permanent fix)

Paste into Claude Code on the Mac:

Implement C31 (negation rule) in the council, Studio path only, demo untouched, additive, then vendor + test + restart.

In affirmology-agent/src/affirmology/agents/council.py:
1) Add a module constant NEGATION_DIRECTIVE:
   "NEGATION RULE (hard): write the installation body with ZERO present-tense negations. Never name the unwanted state and never use 'not / no / never / no longer / isn't / don't' in a present-tense claim. Name ONLY the state being built, in present tense. If contrast is needed, put the OLD state in PAST tense ('I used to...') then land fully in the present-tense new state with at least two declarative beats; do the pattern-interrupt with a pause in delivery, not a 'not' in the words. SHADOW WORK IS KEPT: shadow-to-gift-to-siddhi and the two shadow poles (repressive, reactive) are welcome, but word the shadow as a ROUTE the listener moves THROUGH, not a present-tense state they inhabit, and always land present-tense in the gift/siddhi."
2) In compose(), append NEGATION_DIRECTIVE to the Orpheus context `cc` (so it applies to every Studio/--council draft; the demo never calls compose(), so it stays byte-for-byte).
3) Add a deterministic negation_gate(script_text) -> {pass, notes} that flags present-tense negation patterns (regex for present-tense 'I am not', 'is/are not', 'do/does not', 'never', 'no longer' in declarative lines; ignore past tense 'used to/was/were not' and the word 'thank you'). Wire it into the compose loop exactly like pacing_gate: on fail, set review["passed"]=False and append the offending lines to the Orpheus revision notes so the next pass fixes them.
4) Add a gate to APOLLO_SYSTEM (gate 3 hypnos) text: "present-tense negations FAIL: the install body names only the desired state; the old state, if present, is past tense."
Vendor the same changes into affirmology-studio/affirmology-agent/ (keep in sync).
Add tests/test_c31_negation.py: negation_gate flags 'I am not broke' and 'This is not arriving', passes a clean script, and allows past-tense 'I used to wait'. Run: engine pytest, the full studio suite, and confirm the demo render path is unchanged (standard pace + no council = no NEGATION_DIRECTIVE applied). Then restart the local funnel server so it goes live. Report green/red before restarting; revert if red.

Notes: C31 is logged in Affirmology_TestAndChange_Queue_v1.md. Rule detail in Affirmology_NegationRule_Craft_v1.md. Demo stays locked (it never runs --council/compose).