revert unapproved Hermes-on-Pony; restore E1 law vault; Ichor = outer bus only

Two serious fixes:

1. RESTORE the E1 invariant-law vault (invariants-architecture.cobol) that the
   border-only cleanup wrongly deleted. Now a real, compiling GnuCOBOL vault with
   law 01 ABSOLUTE = DO NOT KILL PEOPLE, thorough notes, and a do-not-delete
   banner. Safety invariants must never be deleted as 'stubs'.

2. REMOVE the unapproved CerebellumHarness/OpenHermes-on-Pony (never approved;
   architecturally wrong -- Hermes is an INNER organ, Ada-routed). Ichor is the
   OUTER bus only: OrganId is now outer organs (stomach/microagents/SAE/MoRAG +
   AdaBorder/World); inner organs (soul, metacog, drive-box, mini-rag, Hermes,
   E1 laws) removed -- metacog belongs on the Ada inner bus, not Pony. The
   membrane screen now triggers on Ada-bound traffic, not 'Brain'.

Thorough stub notes added throughout (barrier is a stand-in, not the real
screen; never wire inner organs onto the skin). Compiles + runs green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
This commit is contained in:
Claude
2026-06-21 11:23:20 +00:00
parent 0849af9b55
commit 50fe9bd2c6
7 changed files with 161 additions and 197 deletions
+27 -27
View File
@@ -1,6 +1,15 @@
// Ichor smoke wiring (D2 §9 test): round-trip an envelope between two stub organs
// through the D1 admit check, and confirm an unscreened external payload is
// rejected at the barrier.
// Ichor smoke wiring — exercises the OUTER bus + the D1 membrane only.
//
// SCOPE / STUB NOTE (read before extending):
// * Ichor is the OUTER bus ("the skin"). It carries OUTER organs
// (stomach/economy, microagents, SAE, MoRAG) and delivers inbound traffic
// to Ada (the membrane). See docs/bus-topology.md.
// * It is NOT the inner-brain bus (that is Ada-routed, Jorvik) and NOT where
// Hermes, metacog, soul, drive-box, mini-rag, or the E1 laws live. Never
// wire an inner organ onto this bus — that is plugging the brain onto the
// skin.
// * This is a provisional scaffold proving the broker + membrane mechanics,
// not the final routing.
//
// Build: ponyc src/ichor -o build Run: ./build/ichor
@@ -8,31 +17,22 @@ actor Main
new create(env: Env) =>
let broker = Broker(env.out)
let soul = StubOrgan(Soul, env.out)
let brain = StubOrgan(Brain, env.out)
broker.register(Soul, soul)
broker.register(Brain, brain)
// Outer-bus endpoints. AdaBorder is the membrane: inbound traffic is screened
// there before it can cross into the inner brain. MoRAG is an outer organ.
let ada = StubOrgan(AdaBorder, env.out)
let morag = StubOrgan(MoRAG, env.out)
broker.register(AdaBorder, ada)
broker.register(MoRAG, morag)
// A system-internal secretion soul -> brain: must cross D1 and be delivered.
broker.route(Envelope(Soul, Brain, SystemInternal,
"big4 drawn: sun/asc/moon/mother-other"))
// The stomach digests external input into context and sends it inbound to
// Ada; system-origin context is admitted across the membrane.
broker.route(Envelope(Stomach, AdaBorder, OrganSecretion,
"digested context: <pre-chewed user turn>"))
// An external payload aimed at the brain: D1 must reject it.
broker.route(Envelope(AdaBorder, Brain, External,
// A raw external payload aimed straight at the membrane: D1 rejects it.
broker.route(Envelope(World, AdaBorder, External,
"unscreened external payload"))
// Organ-to-organ perfusion (not Brain-bound): delivered directly.
broker.route(Envelope(Brain, Soul, OrganSecretion,
"reshuffle: cross-only"))
// --- cerebellum harness plugged into the bus (C1 / OpenHermes) ---
// Plug-and-play: PickLLM chooses the model from the environment
// (OPENHERMES_URL/MODEL -> real client, else StubLLM); nothing else changes.
let cerebellum =
CerebellumHarness(env.out, broker, PickLLM(env.out, env.vars), 2)
broker.register(Cerebellum, cerebellum)
// A user turn enters the bus addressed to the cerebellum; it sequences the
// passes and emits the synthesis back toward the Brain (crossing D1).
broker.route(Envelope(AdaBorder, Cerebellum, UserInput,
"user turn: what is my ascendant?"))
// Outer organ-to-organ (not membrane-bound): delivered directly, no screen.
broker.route(Envelope(Stomach, MoRAG, OrganSecretion,
"retrieve: world context for the next turn"))