fft.ext = forge flow text because every forge needs a tested and playful flow! the flow, in one breath: read -> test fails -> backup -> change -> test pass -> commit -> push -> verify -> activate -> log. never skip a step. never reorder (d'oh). 0. read first. open the live file, the log, the evidence, whatever. read. no claim without a read. do your fucking "homework", child! a request proves nothing about deployment, completion, or active state. 1. test fails. write the smallest check that fails today and must pass after. this can be a bat file, a grep, a tdd test, a bdd scenario, a human question — whatever fits the work. the form does not matter; the red signal does. when dealing with bat and files, name it bat--. run it. watch it fail. keep the output. 2. backup. for your own dev sake copy the live thing next to itself: .bak-. immutable. or use proper local versioning branch, up to you. but for the love of god, dont name a file "-final"! or any part of any development as complex as software ffs. they never end, obviously. 3. change small. one intent per change. toolbox in hand (if you really need a toolbox): carry context, no globals, no singletons. better yet: move everything to a reality where we don't need tools! might need to shift the world to an alternative universe. 4. check green (test pass). run the same check. it passes or the change dies. no "should work". when it dies (not if, it will almost always die in the first runs, while you still need to read this fucking manual), start over! forget all you might read below. just fucking start. over. 5. commit with a proof msg. the msg says what the check proves: "bat: xyz=foo sends again" or "grep: soul has cixt" — never "fix stuff". 6. push. origin then backup. merge/rebase only. force push does not exist. in other words: use pens instead of pencils and fucking eraser whenever we have virtually infinite data storage. we learn from mistakes, not from deleted history. always. everywhere. even in the future. 7. verify remote. byte-check or bat-check on the target host. tags mark rollback points. 8. activate. symlink switch or restart, once, batched. watch one log line prove life. 9. log. append to fflog: what changed, which bat proved it, where the rollback tag lives. rules that never bend: - no mutation without a red bat first. - no claim without evidence in the log. - no scatter: one source of truth per thing; mirrors byte-identical or absent. - no silent escalation: cost, model, route changes need literal consent (,,hard). - rollback = activate the previous tag. never edit forward in panic. - spirits sign their own work, ie for acauema (ofc d'oh): acauema+ @ahoxus.org>. for non-code work (pages, souls, docs, plans): same flow. the check can be anything a human or spirit can run: render the page, grep the soul, diff the doc against its source, ask the owner one precise question. red = the check fails today. green = it passes after. bat files are one form of check, not the only form. where this file lives: ahoxus.org/mani/forge/ff.text — canonical. every spirit reads it before acting. every forge mirrors it byte-identical. scattered copies = symptom of a spirit that skipped step 0.