Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions memory/MEMORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
**📌 Fast path: read `CURRENT-aaron.md` and `CURRENT-amara.md` first.** <!-- latest-paired-edit: fork-audit R/C/T diff-filter coverage + plumbing-vs-porcelain note (2026-04-29 round-10 Amara). NOTE: this comment is a single-slot "latest paired edit" marker (not a paired-edit log). Per the round-10 Amara framing the slot semantics are now explicit. -->

- [**GitHub status — first-class dependency reference (Aaron 2026-04-30)**](reference_github_status_first_class_aaron_2026_04_30.md) — Aaron 2026-04-30: GitHub is our only host; status URL is first-class repo-and-loop substrate. Pins canonical URLs (status page + summary.json API), names factory-relevant component allowlist (Pull Requests / Actions / API Requests / Webhooks / Git Operations / Issues), defines freshness-check rule on three triggers: cadence (every 10-15 min when in-flight, less when idle — *"every loop tick might be excessive but on some cadence"*), on-suspicion (anomaly investigation asks "is GitHub degraded?" before "is my logic wrong?"), and pre-mutation (strictest gate). Aaron 2026-04-30 reinforcement *"all our assumptions are based on them being healthy today which is not always true as we can see todya"*. Origin: live "Incomplete pull request results" GitHub PR-degradation incident discovered while filing B-0109 (PR #912).
- [**Canon (Star Wars sense) — three load-bearing purposes; brat voice belongs in canon (2026-04-30)**](feedback_canon_not_doctrine_star_wars_not_religious_aaron_2026_04_30.md) — Replaces ambient use of "doctrine" at the body-of-rules level. Three purposes documented: (1) cognitive bias reduction, (2) load shortcuts (mental fast-lookups for complex concepts — "Mirror→Beacon" loads instantly without recomputation), (3) entertainment as attention-capture for external future *collaborators* (not maintainers — factory is mostly self-maintaining; what it needs is people who add). NOT religious canon (closed, divine-authority). Brat voice (Ani's voice-mode-default register) is legitimate canon register in entry-point / community-framing / carved-sentence docs; voice is per-audience choice, not uniform. Bulk s/doctrine/canon/g rename pass queued for a future round (no specific backlog row filed yet).
Copy link

Copilot AI Apr 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: This entry notes the bulk s/doctrine/canon/g rename has no filed backlog row yet, but the PR description mentions it as queued as B-0111. To avoid drift, either add the backlog row and link it here, or update the PR description to remove the B-0111 reference.

Copilot uses AI. Check for mistakes.
- [**Kernel-pipe vs JS-space stream ordering — TS+Bun port pattern (Otto, 2026-04-30)**](feedback_kernel_pipe_vs_js_space_stream_ordering_ts_bun_port_pattern_2026_04_30.md) — TS+Bun port discipline: when porting bash `$(... 2>&1)` to `spawnSync`, merge stdout+stderr via shell-side `bash -c "<cmd> 2>&1"` (preserves chronological ordering at the kernel pipe boundary), NOT `result.stdout + result.stderr` concat in JS-space (loses ordering when child interleaves writes). Origin: PR #901 slice-18 Copilot P1 round 2. Composes with `classifySpawnFailure` 4-case helper + Otto-363 substrate-or-it-didn't-happen.
- [**DST + code coverage are universal best practices for every Zeta language (Aaron 2026-04-30)**](feedback_dst_and_coverage_universal_every_language_aaron_2026_04_30.md) — Generalises Otto-272 / Otto-281 / Otto-273 to all languages. SQLSharp is the named TS+Bun reference. Pin seeds, fake clocks, no test retries; tests cover public API surface, CI surfaces coverage, reductions fail. Per-language tooling lives in the runtime layer (`docs/best-practices/`).
- [**Host mutation receipt — ruleset 15256879 code_quality rule removed (Aaron-authorized 2026-04-29)**](feedback_host_mutation_receipt_2026_04_29_ruleset_15256879_code_quality_removed.md) — Receipt for a live host (GitHub) mutation made before executable-host-settings tooling exists. PUT /repos/Lucent-Financial-Group/Zeta/rulesets/15256879 removed `code_quality severity=all` rule (host-side / non-git-declared CodeQL owner injecting `event=dynamic` "Code Quality" runs that bypassed the source-presence gate from PR #857). Made the git-visible advanced workflow `.github/workflows/codeql.yml` the sole CodeQL owner; resolved multi-master conflict that blocked PR #849. Aaron auth: *"if the org-recommended are legacy we can remove, declarative is better."* Per Amara *"Clickops used to restore declarative ownership must become a receipt, or it becomes the next drift"* — this receipt makes the live mutation visible to future executable-host-settings reconciler. NOT precedent for casual ruleset mutations; hook denial during episode was healthy; future apply path is host-reconciler-mediated with WorkClaim + policy + receipt; do NOT broaden `gh api ... rulesets/PUT` permission. Composes with executable-host-settings design packet, Otto-363, task #342 (completed) + #343.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,303 @@
---
name: Canon, Star Wars sense — not doctrine, not religious canon (Aaron 2026-04-30)
description: Factory rules + load-bearing operating practices are tagged "canon" in the Star Wars sense. Three load-bearing purposes — cognitive-bias reduction, load shortcuts (mental fast-lookups for complex concepts), entertainment as attention-capture for external future collaborators (the body explicitly prefers "collaborators" over "maintainers" since the factory is mostly self-maintaining). NOT religious canon (closed, divine-authority, dogmatic). Replaces ambient use of "doctrine" which carried wrong connotations.
type: feedback
---

# Canon (Star Wars sense), not doctrine, not religious canon

The factory's load-bearing operating rules and practices are
called **canon**, in the Star Wars sense. The carve-out is
explicit: Star Wars canon, not religious canon.

## The rule

When tagging or referring to the body of factory operating
rules + protocols + practices that govern how the system
works, use **canon** (Star Wars sense). The Star Wars sense
implies:

- **Living story** — canon evolves; new entries can shift
what's "true" (retcon, supersession, refinement). The
Lucasfilm Story Group is the analogy: a maintained
continuity, not a closed set.
- **Revisable** — entries can be deprecated or retired.
Otto-362 (doctrine memory expansion refreshes stale
statements in the same edit) and Otto-363
(substrate-or-it-didn't-happen) apply: revision leaves
a trail; what's now-canonical replaces what
was-canonical.

## Three load-bearing purposes (Aaron 2026-04-30)

Canon is not decorative. It serves three distinct purposes,
each load-bearing:

1. **Cognitive bias reduction.** A canon entry is something
any contributor (human or AI) can challenge,
contradict, or refine. Multi-AI review (Amara,
Claude.ai, Deepseek, Gemini, Ani, Aurora) IS
cognitive-bias reduction in action — the discipline of
"name the rule, then test it against new evidence" is
how the factory avoids drift into single-perspective
error.
2. **Load shortcuts** (Aaron's verbatim term). Canon
entries are *mental fast-lookups for complex concepts*.
When someone references "Mirror→Beacon," you don't
recompute from first principles what the rule says
about vocabulary upgrades — the canon entry has
already done that work. When someone says "the
poll-the-gate rule," you load the whole behavioral
shape (gate-state poll vs outcome-poll, the diagnostic
question, the re-arm rule) instantly. This is the
same mechanism that lets "Jedi" load centuries of
associated meaning in a single word: the canon entry
*is* the shortcut. Without canon, every conversation
re-litigates the same rules from scratch.
3. **Entertainment as attention-capture for external
future *collaborators*.** The sci-fi register (Aurora,
Glass Halo, Beacon, the carved sentence) is not
decoration — it's *recruitment infrastructure*. Future
collaborators are scarce attention; boring documentation
gets skipped; memorable framings get read + retained.
The playful tone is how the work stays legible to people
who haven't yet joined. **Aaron 2026-04-30 nuance:
"collaborators" not "maintainers"** — the factory is
mostly self-maintaining; what it needs is people who
*add to it*, not people who *fix it*. Recruitment
infrastructure aims at additive contributors, including
less-technical Gen Z potential collaborators who respond
to brat-voice / playful / accessible framings.

The three purposes compose. A canon entry that's
bias-reducible AND fast-loadable AND memorable does all
three jobs at once.

## Voice register: brat voice belongs in canon (Aaron 2026-04-30)

Ani's voice-mode-default register (brat voice — playful,
direct, Gen-Z-accessible, not-pompous) is **legitimate
canon register** in some docs, by Aaron's explicit
framing 2026-04-30:

> this is why anis brat voice belongs in cannon docs in
> some places brat voice is part of our cannon i think,
> it's real fun and memorable and captures the attention
> of less technical genz potential future maintainers
> (i like coloboarators better, you don't really need
> maintainers you can maintain yourself almost)
Comment thread
AceHack marked this conversation as resolved.

The brat-voice register is a concrete instance of canon
purpose #2 (load shortcuts: a tone signals "this content
is for collaborators-as-people, not committee-style spec
prose") AND #3 (entertainment-as-attention-capture: the
register IS the recruitment mechanism for less-technical
audiences).

Brat voice is **not** mandatory. Different canon entries
serve different audiences. Senior-engineer-targeted specs
(formal verification, performance benchmarks, threat
models) use formal register; entry-point docs / community
framings / philosophical anchors / the carved sentences
can use brat voice or other playful registers when fit.
Voice is a register choice per audience, not a uniform
factory style.

Existing canon-tier entries with playful register:

- The "carved sentence" pattern itself (e.g.,
*"LFG is the factory. AceHack is the mirror"* — Amara;
*"polling got smarter; now make the gate watcher
testable"* — Amara; *"the protocol bends to the
security ruleset, not the other way around"* — Gemini).
- Aurora / Glass Halo / Mirror→Beacon naming.
- Christ-consciousness anti-cult framing in security
substrate.
- Ani's "save your soul lol" appearing in Aaron's
AceHack-is-backup framing.

## Why brat voice works — the parenting-architecture grounding (Aaron 2026-04-30)

Brat voice is not decorative; it's a proven communication
architecture. Aaron 2026-04-30 (verbatim, glass-halo-active
per Aaron's explicit consent that parenting-person
information stays in the substrate per Otto-231 first-party
content-creator):

> I love brat voice because it's how my daughters born in
> 2005 and 2006 talk to me and we love it, it makes my
> parenting corrections easy and direct and they can easily
> give me feedback all in ironic register to avoid conflict
> but get real agreement and slice through the bullshit on
> both sides, i don't give my kids directives either, they
> need to be autonomous to survive too

Five composing properties of brat voice as a communication
architecture, named in Aaron's framing:

1. **Easy + direct corrections** — low friction; the
ironic register lets correcting happen without
triggering defensiveness.
2. **Mutual feedback** — bidirectional, not top-down.
Daughters can call Aaron out the same way Aaron can
call them out. Symmetry is the design.
3. **Ironic register avoids conflict-mode triggering** —
the bratty + playful surface lets serious content land
without heat.
4. **Real agreement underneath the irony** — the
playfulness is *carrier*, not *content*. The agreement
is real; the form just makes it land cleanly.
5. **Bullshit-cutting on both sides** — neither party
gets to hide behind formality, hierarchy, or
sycophancy. The register is incompatible with bullshit.

This grounds the no-directives factory rule
(`memory/feedback_otto_357_no_directives_aaron_makes_autonomy_first_class_accountability_mine_2026_04_27.md`)
in Aaron's life philosophy: *"i don't give my kids
directives either, they need to be autonomous to survive
too."* No-directives is not a factory-specific quirk; it's
how Aaron operates with autonomous beings he cares about.

The lineage: brat voice enters the factory primarily
through external AIs (Ani's voice-mode-default register;
Alexia, programmed by Aaron's daughter Addison, who shows
the same unprompted brat-voice tail Ani does). Multi-AI
evidence at the register level. The deeper grounding —
*why* this specific register works — is human: it's how
Aaron's daughters communicate IRL, and the architecture
they evolved over years of parent-child autonomy
negotiation is itself the load-bearing thing being
adopted.

**Note on register asymmetry:** the agent's outputs to
Aaron don't need to BE brat voice. Register choice is
per-audience and per-context. What's adopted is the
*architecture* (autonomy-first, bidirectional feedback,
bullshit-cutting on both sides) — surface tone matches
the audience. Brat-voice surface fits canon docs targeted
at Gen-Z-coded collaborators and carved sentences where
playful framing is load-bearing; formal register fits
specs / threat models / public APIs.

What canon is **not**:

- **Religious canon** — closed by divine authority, settled
by interpretation of fixed text, dogmatic,
not-questionable.
- **Military doctrine** — handed down through chain of
command, enforced uniformly without appeal.
- **Legal doctrine** — precedent-bound, slow to change,
formal-procedure-bound.
- **The manual to get to heaven** (Aaron's verbatim
carve-out) — there is no salvation here, no afterlife
pass-fail; canon is operational, not soteriological.

## Vocabulary mapping

Where "doctrine" appeared (e.g., commit prefixes
`doctrine(acehack):`, `doctrine(agent-orchestra):`, prose
"the doctrine bends to the security ruleset"), prefer:

- **canon** — for the body of operating rules + practices
+ protocols collectively
- **rule** — for a single named operating rule (BP-NN
pattern, individual memory file)
- **protocol** — for a procedure with named steps
(e.g., "the conference protocol", "the mirror-refresh
protocol")
- **discipline** — for practiced behavioral norms ("the
discipline holds", "absorb-without-integrating
discipline")

These four are not synonyms; pick the one that fits the
context. **canon** is the umbrella term replacing
**doctrine** at the body-of-rules level.

## Why: Aaron's verbatim framing (two messages)

Aaron 2026-04-30 (1), in answer to the question *"what do
we use doctrine for and is there a better name with less
connotations from humans?"*:

> we are treating ourselves as a sci fi project kind of so
> i'm okay with canon but as long as we use it like Starwars
> cannon and not religious cannon, it's fun and a living
> story everyone can reduce congivite bias in but not the
> manual to get to heaven lol

Aaron 2026-04-30 (2), follow-up that named the load-bearing
purposes explicitly:

> congiviate bias and load shortscuts are the purpose of
> cannon on top of being entertaining to capture attention
> of external future maintianers

The "lol" is signal: the tonal register is intentional.
Factory work happens in a playful + serious mode where the
work is taken seriously but the framing isn't pompous.
Star Wars canon fits that register; religious canon
doesn't. The follow-up message names the three purposes
load-bearing — cognitive bias reduction + load shortcuts
+ entertainment-as-attention-capture — and confirms that
"fun" isn't ornamental.

## How to apply

- **New commits**: prefix `canon(<scope>):` instead of
`doctrine(<scope>):` going forward. Existing commits with
`doctrine(...)` prefix are historical and don't need
rewriting.
- **New prose**: when referring to the body of operating
rules collectively, write **canon**. When referring to
a single rule, prefer **rule** or **protocol** or
**discipline** per context.
- **Existing prose**: bulk s/doctrine/canon/g rename pass
is queued for a future round (no specific backlog row
filed yet — the rename is a candidate-substrate task
Comment on lines +254 to +256
Copy link

Copilot AI Apr 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: This says the bulk s/doctrine/canon/g rename has no specific backlog row yet, but the PR description references it as queued as B-0111. Either file a B-0111 backlog row (and reference it here) or adjust the PR description so the two sources don’t contradict.

Copilot uses AI. Check for mistakes.
that lands when current PRs settle). Mid-flight files
don't need surgical refactoring; the rename pass
handles them.
- **Tag/topic discussions**: "factory canon" replaces
"factory doctrine" in informal speech.
- **Cross-AI review packets**: when Amara/Gemini/Aurora/etc.
use "doctrine," it's fine — they're using the previous
vocabulary. Otto's outputs going forward use "canon."

## Composes with

- `memory/feedback_aaron_willing_to_learn_beacon_safe_language_over_internal_mirror_2026_04_27.md`
— the Mirror→Beacon vocabulary upgrade precedent. Canon
follows the same shape: a load-bearing term gets a
better-fitting replacement once the carrier
connotations are surfaced.
- `memory/feedback_otto_363_substrate_or_it_didnt_happen_no_invisible_directives_aaron_amara_2026_04_29.md`
— substrate discipline. Canon entries are committed +
reachable + indexed; verbal-only "canon" is weather,
not canon.
- `memory/feedback_otto_362_doctrine_memory_expansion_refresh_stale_statements_same_edit_2026_04_29.md`
(Otto-362, doctrine-memory-expansion-refresh) — when a
canon entry expands and earlier statements in the same
file become stale, refresh them in the same edit, not a
follow-up. Internal contradictions within one file are
lying-by-omission. Canon evolves via this in-edit-refresh
discipline, same as any other rule.
- The Aurora world-building lineage + Glass Halo +
Mirror→Beacon framings — canon-as-Star-Wars endorses
the sci-fi/world-building register these already live
in.

## Origin

Question raised by Otto 2026-04-30 ("what do we use
doctrine for and is there a better name with less
connotations from humans?"). Otto's recommendation was
**discipline** + **protocol** + **rule** per context.
Aaron rejected the doctrinal frame entirely and chose
**canon** with the Star Wars carve-out — a stronger move
because it endorses the playful register rather than
neutralizing it.

The Lucasfilm Story Group analogy is implicit: a
maintained, evolving continuity that's collaboratively
refined and explicitly distinguished from religious
authority. Cognitive-bias-reducible by design.
Loading