149 Commits

Author SHA1 Message Date
Claude
fe65602f16
docs/plans A8: sign header — Lead Engineer: Søren
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 05:10:00 +00:00
Claude
7490be58d3
docs/plans A8: Y theme = connection/pathos; Z also reinforce vs adapt
Y keeps connection/pathos as its theme over the burden mechanic.
Z gains a third gloss: reinforce (double-down/maintain) vs adapt
(dodge/transmute/evolve).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 05:06:46 +00:00
Claude
31cc7a4918
docs/plans A8: X = Provenance/Continuity (the why); Y/Z are the how
ETR is the apparatus for not seeking death. X (assertion/inheritance)
covers WHY one persists -- self-asserted continuity vs inherited
provenance; Y (burden) and Z (double-down/dodge) cover HOW.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 05:05:18 +00:00
Claude
025f359a90
docs/plans A8: Y is my burden (endured) vs our burdens (witnessed)
Endured keeps the burden mine; witnessed makes it shared/collective.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 05:03:58 +00:00
Claude
0441b3a045
docs/plans A8: Y axis is burden-to-burden, not connection
Both poles of endured<->witnessed manage whose burden: endured = carry
it to spare others; witnessed = be seen to discharge theirs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 04:45:06 +00:00
Claude
369c47c5e3
docs/plans A8: pin the three ETR axes — self-position / connection / meaning
ETR is self-position, meaning, and connection (not a rest engine, not
migration). Record the per-axis semantics: X assertion/inheritance =
self-position; Y endured/witnessed = connection via others' burden
(hide vs. be seen); Z alimentation/transmutation = double-down/dodge =
maintain/evolve.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 04:40:05 +00:00
Claude
eff065153f
docs/plans A1: resolve F2 — commit drops the approved flag (agent already decided)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 04:17:21 +00:00
Claude
09a16987b2
docs/plans A2: tool_min is a per-tool skill threshold, independent of cost
Correct the earlier 'derived from cost' framing. Equal-cost tools can
carry different minimums: the better skill demands the higher minimum
(Playwright vs manual fetch ~ same cost, but Playwright needs more), so
under depletion the refined tool locks out first and the agent falls back
to the cruder equal-cost one. Lockout now defined as E < tool_min(tool),
no longer a function of cost.

https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 04:04:32 +00:00
Claude
46739ac75e
docs/plans A2: tool_min is derived from the tool's actual cost, not independent
A tool's minimum-to-consider falls out of its cost function (tool_min as
a function of tool_cost), so it is not a separate constant to fit.

https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 04:02:38 +00:00
Claude
df64f9de22
docs/plans: X≈7 adaptive convictions, lock-token literal, L5 into A8
A6: X defaults to ~7 most committed convictions, adaptive (signal C1).
A1: L4 literal confirmed -> [====L⍉¢K€D ϟ ∅ΩΤ====] 《E≠<minimumfortool>》
    (predicate = energy below tool's own minimum); priors bundle with the
    sensate block (step 2); step 3 X≈7 reference.
A2: mirror lock token + add tool_min(tool) per-tool minimum (open item).
A8: record ETR-as-prompt-injection (A1-L5) in §4 does/does-not + open
    item for the injection-rendering; ETR persuades, never gates.

https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 03:59:40 +00:00
Claude
2b7da83a04
docs/plans A3+A6+A1: surfacing economy — all 30 sensates, top-2 priors, top-X convictions
A3: PS+ surfaces all 30 raw sensates but only the 2 most salient priors
(L3 ranked-top-2); evaluate_reality arguments carries top-2 only.
A6: top-X convictions rationale — the conviction list can be massive.
A1 step 2: all 30 sensates + 2 most salient priors; note the asymmetry
(fixed-30 surfaces whole; unbounded prior/conviction lists are ranked).

https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 03:56:13 +00:00
Claude
ec8b3079bd
docs/plans A6+A1: Eth-Int surfaces only top X convictions, not whole array
A6: add top_convictions(convictions, x) to §4/§5, X as open item (C1).
A1: step 3 + input-slot contract updated; flag that drive_box.R:142 loops
all principles and must emit top X only.

https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 03:54:52 +00:00
Claude
9b6372119c
docs/plans A1 §11: correct L5 — ETR is the prompt injection, not A3 sensates
The existential stress is handled by ETR (A8); ETR's surfaced state must
read as the extremely convincing prompt injection that hardens Eth-Int
conviction and steers without gating. Step 3 + F3 reach updated (A8 in,
A4-stress-channel emphasis out).

https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 03:53:42 +00:00
Claude
3e1c700bf1
docs/plans A1 §11: fold in red-line — F1/F3/F5 resolved, F2 open
- F1: keep pure price_action() AND show cost of valid tools in listing.
- F5/L4: text agent can't see colour — locked tool NAME is replaced in-band
  by the lock token [====L⍉¢K€D ϟ ∅ΩΤ====] {{E≠*min*}}; mirror in A2.
- F3: Eth-Int conviction calibrated by chosen actions + kept memories,
  hardened by existential stress; propagates to A6/A4/E2-E3/G1.
- L5: stress is itself an extremely convincing prompt injection (A3-L1 force).
- F2 (commit shape) left open per 'idk'.

https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 03:52:16 +00:00
Claude
c904a7f4da
docs/plans A1: draft concrete decision flow (§11) for red-line
Replaces the disowned evaluate/commit gate with an explicit 5-step
sequence (assemble → sensates raw → priced tool listing → agent decides →
commit), consistent with A2 per-tool cost and A3/A4 raw-sensates /
agent-decides. Five open forks named rather than guessed (F1 pricing
helper, F2 commit shape, F3 conviction-hardening scale, F4 ETR
informational, F5 locked-tool rendering).

https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 03:43:48 +00:00
Claude
04c66aa3ab
docs/plans A1: cite review line refs (L13/L37/L49) on the flagged items
https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 00:26:30 +00:00
Claude
28751bc8e0
docs/plans: apply Anja's partial review (PR #8) to A1–A4
- A3 PS+: no aggregate sum, sensates sent RAW to the agent before tool listing;
  friction removed; is_logical=FALSE reframed as the SOURCE of power (illogic =
  why they rule the flesh), not a deficiency; priors derived from the outer
  BERT's frequent memory themes tied to taste/smell/sound + location.
- A4 endomotiv: drop friction/contradictory-pairs (chemistry carryover);
  channels are independent modulators; sensates describe & convince, only the
  agent decides.
- A2 Energy: not "finitude" (no depletion-unto-death); per-tool energy cost +
  per-tool lockout scale replaces the global threshold.
- A1 hub: evaluate/approve model flagged inaccurate (agent decides, drivers
  describe/convince + price); hub language to reassess; consider Fortran/C for
  the R<->Ada bridge.

https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-17 00:25:40 +00:00
Claude
20e99f434c
docs/plans: remaining component specs — Identity, Cognition, Border, Storage, Periphery, Cross-cutting
Wave 1 remainder + Wave 2 design-first specs, completing one build plan per sub-organ:
- B1 tarot emulator, B2 SOUL/Big-3, B3 Celtic Cross
- C2 4+4 metacog, C3 inference cycle, C4 Brain
- D1 Ada border, D2 the medium, D3 mini-rag
- E1 3 GnuCOBOL invariant stores, E2 VARIANT stores, E3 RAG family
- F1 MoRAG, F2 SAE monitor, F3 subagents
- G1 stress-loop contract, G2 governance, G3 defense model

Each: contract + stubs for independent build; unfitted constants marked C1.

https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-13 20:08:19 +00:00
Claude
169ff3e21a
docs/plans: component build specs — index + OpenHermes↔metacog + Drive-Box (A1–A8)
Per-sub-organ build plans so each organ can be made independently. Each spec
follows a shared 10-section template (contract + stubs => standalone build/test).

- README.md: index, template, integration DAG, build waves
- C1: OpenHermes Agent <-> metacognitive cycling (priority)
- A1 hub, A2 Energy, A3 PS+, A4 endomotiv array, A5 priors, A6 Eth-Int,
  A7 conviction array, A8 ETR

Numbers stay disowned per restart discipline; unfitted constants marked C1.

https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-13 20:03:39 +00:00
gravermistakes
15f1ad4dfb
Update README.md 2026-06-12 23:42:22 -07:00
Claude
bc116628bf
Bring Gen.03 design docs into the repo + fold in ETR red-lines
Import the canonical design docs (self / body / state-of-architecture) from
ephemeral uploads into docs/ so they survive a container reclaim, and update
them with this session's ETR decisions:
- ETR geometry organ -> GNU Octave (exception to the R default)
- ETR scaffolded invariants-first; cross-ref src/endocrine/etr/etr_invariants.md
- cross-organ drift/stress provenance (SAE -> EthInt-opposition -> stress
  endomotiv -> drift / cross-axis coupling / full reshuffle / shift-rate)
- license named: Verein Eigenschaft

https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-13 05:24:33 +00:00
Claude
a3f2b3ddb2
Scaffold ETR (Drive-Box Driver 4) invariants-first in GNU Octave
Rebuild ETR as a single point on three independent toroidal axes, per the
restart discipline (laws -> tests -> fit constants). All prior ETR numbers
(R port and the CC-BY PDFs) are disowned; nothing carried forward.

- src/endocrine/etr/etr_invariants.md: ETR laws (+/-50 wrap, per-axis [17,35]
  bands, opposition direction, AI-originated drift) with certainty tags, plus
  the cross-organ drift/stress provenance (SAE -> EthInt convictions ->
  stress endomotiv -> reshuffle / shift-rate) captured as open seams.
- src/endocrine/etr/etr.m: wrap + restoring direction implemented (law);
  restoring magnitude (RESTORE_GAIN) and cross-axis coupling left as explicit
  TBD stubs, not invented.
- src/endocrine/etr/test_etr.m + run_etr_tests.sh: red tests encoding the laws.
  12 pass (confirmed laws), 2 fail honestly (unfitted magnitude + convergence),
  2 pending (unconfirmed coupling / no-zero-crossing).

Language: GNU Octave (GPL/copyleft, lightweight, native torus mod-wrap). Ada
rejected for ETR (proves discrete invariants; ETR is continuous torus
dynamics). Rest of the Drive-Box stays R.

https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-13 05:18:10 +00:00
gravermistakes
8fb9e8e375
Update README to remove directory structure
Removed directory structure documentation from README.

Signed-off-by: gravermistakes <250037217+gravermistakes@users.noreply.github.com>
2026-06-10 20:09:02 -07:00
gravermistakes
ed90ccf36a
Update SOUL.md 2026-06-10 19:50:48 -07:00
gravermistakes
73f630ffe0
Create Plan.md 2026-06-10 19:47:07 -07:00
gravermistakes
0cb0323b13
Create README-1ST.MD 2026-06-10 19:46:03 -07:00
gravermistakes
a447725e9f
Create README-1ST.MD 2026-06-10 19:45:22 -07:00
gravermistakes
91e739b6f4
Create README-1ST.MD 2026-06-10 19:44:47 -07:00
gravermistakes
aed2b0008a
Create README-1ST.MD 2026-06-10 19:43:40 -07:00
gravermistakes
04dfe4c62e
Merge PR #6: Drive-Box R reference track + Gen.03 Ada build fixes
Drive-Box R reference track + Gen.03 Ada build fixes
2026-06-09 21:25:42 -07:00
Claude
005c551e04
Add SOUL.md frontloader + wire all drivers and tarot into the input slot
SOUL.md: YAML frontloader prepended to every other input -- name slot,
version (Gen.03), first-commit unix epoch, and base-7 encoded references to
vital file paths (each path's UTF-8 bytes as a big-endian integer in base 7).

drive_box.R: drive_box_input_slot() implements the hub topology -- Energy,
PS+, Ethical Integrity, ETR, AND the tarot spread each write their signal into
one input slot (the Ada Medium Phase_Enrich injection), headed by the SOUL
frontloader, with the raw user input appended. Not a chain; every subsystem
wires to the input.

Endocrine suite now 120 assertions, all green.
2026-06-10 04:19:00 +00:00
Claude
14648e484f
Fix alire.toml: drop invalid SPDX license expression
'Proprietary TBD' is not a valid SPDX expression and Alire 2.x rejects it
(LicenseRef- custom ids are also rejected by the pinned version), aborting
manifest load before build. licenses is optional, so omit it until a license
is chosen. Verified locally with alr 2.0.2 + GNAT 14.2.1: 'alr build' succeeds
and all five test executables pass. (gnat_sockets/spark_lemmas remain declared
but unused -> a non-fatal incomplete-solution warning; build still exits 0.)
2026-06-10 04:06:41 +00:00
Claude
80fe7a06a7
Fix alire.toml: style_checks selector Max -> Yes
Alire 2.x only accepts no/yes for the style_checks build-switch category;
"Max" failed manifest loading so 'alr build' aborted before compiling.
"Yes" enables GNAT style checks (warnings, non-fatal) -- the valid selector
closest to the intended Max. Local gprbuild bypassed alire.toml which is why
this only surfaced in CI (alr build).
2026-06-10 04:03:34 +00:00
Claude
ee640f62d7
Add Drive-Box R reference track (endocrine system + 4 drivers + nervous system)
Executable reference implementation of the Drive-Box endocrine/affective core,
built TDD with a dependency-free R test harness (no testthat; runs on bare
r-base-core). Foundations dropped in as-is; the four drivers and the coupling
layer were each driven from a failing test first.

Modules (src/endocrine/):
- endocrine_array.R : 30-channel affective vector field + visceral friction
- priors.R          : trauma/triumph salience records
- driver_energy.R   : hard gate, tool-lock, exponential drag, asymmetric tool cost
- driver_ps_plus.R  : aggregates endocrine + priors into existential load + arguments
- driver_ethical_integrity.R : antithesis penalty / alignment discount / conviction hardening
- driver_etr.R      : toroidal coordinate, magnitude status bands, update path
- drive_box.R       : the 'nervous system' -- afferent(PS+) -> modulate(Eth-Int)
                      -> efferent gate(Energy) -> regime(ETR); the 'full integration'
                      Energy.request_execution anticipated
- test_framework.R  : minimal assertion harness (expect_*/test_case/test_summary)
- run_tests.sh      : runs every test_*.R from repo root

Suite: 5 test files, 108 assertions, all green (run: bash src/endocrine/run_tests.sh).
An Ada/SPARK port to src/organs/drive_box/ is a later session; this track is its
behavior oracle.
2026-06-10 03:59:46 +00:00
gravermistakes
e6ddb515f0
Merge pull request #5 from SHOGGOTH-SECTOR/claude/sufficiency-assessment-ufuaf4
s
2026-06-09 19:35:13 -07:00
gravermistakes
71c82526d4
Fix compile errors so Gen.03 core builds and tests pass
Built locally with GNAT 13.3 (gprbuild, -gnat2022). All four test suites
(soul/trust/cycle/config) pass and the MCP server responds correctly to
initialize / tools/list / tools/call over stdio.

Fixes:
- soul-state.ads: move session storage types (Session_Key/Slot/Table) out of
  the protected definition's private part (only data components are legal
  there) into the package visible part.
- soul-state.ads: drop pre/postconditions that call the object's own
  protected function Is_Initialized (illegal internal call in a contract);
  the guards already live in the bodies.
- mafiabot_types.ads: pin Axis_Value'Small to 0.01 so 1.0 doesn't land one
  past the signed-8-bit base range (GNAT default 2**-7 small).
- config_loader.ads: name the Entries array type (anonymous arrays may not be
  record components).
- ada_medium.adb: qualify Mafiabot_Types.Ada_Medium (the package name shadows
  the Organ_Id literal); fix a malformed Bounded_Text aggregate.
- soul-state.adb: fix Bounded_Text aggregate and the single-Character Footer.
- soul-celtic_cross.adb / soul_tests.adb: 'use type' for Slot_State equality.
- hermes_protocol.adb: qualify a single-char String aggregate to disambiguate
  the Append overloads.
- Remove soul.adb (empty body for a spec that does not allow one).
- Add .gitignore for build artifacts and the Alire-generated config project.
2026-06-10 02:27:33 +00:00
gravermistakes
f41629b181
Merge pull request #4 from SHOGGOTH-SECTOR/claude/sufficiency-assessment-ufuaf4
Gen.03 organ-systems core: Ada Medium, Soul/Tarot, trust boundary, Hermes MCP bridge
2026-06-09 19:09:23 -07:00
gravermistakes
b381b780c2
Add scheduled Ada CI workflow (cron, not on push)
Nightly + manual workflow_dispatch. Sets up Alire/GNAT, runs alr build,
executes the test binaries, and runs gnatprove as an informational
(non-blocking) job until the proof base is green.
2026-06-09 21:53:35 +00:00
gravermistakes
42ef321c4c
Add Gen.03 organ-systems core: Ada Medium, Soul/Tarot, trust boundary, Hermes MCP bridge
Implements the Gen.03 organ-systems body in SPARK/Ada (Jorvik, No_Exceptions):

- Shared types (mafiabot_types): Bounded_Text, Operation_Status, Organ_Id,
  Provenance_Tag, fixed-point drive/ratio/cost/axis types.
- Config loader: SPARK-safe flat key-value parser (no heap/exceptions/finalization).
- Trust boundary: blocklist substring matching, provenance enforcement,
  tick-based rate limiting, Trust_Guard protected object.
- Soul / Silicon Dawn Tarot: 56-card alphabet, Celtic Cross spread, Big-3
  identity anchors. The cross accretes from the cognitive loops (2 cards per
  layer at steps 6/9/13, stave of 4 at step 17) rather than being drawn whole.
- Sessions: Soul_State is now keyed by (uid, channel, server). Each session
  has its own card pool, cross, and output counter; the Big-3 identity is
  global. A formed cross is held for the session (or 17 outputs, whichever is
  longer). Two users on two channels never share a deck or a cross.
- Ada Medium: 23-step forward-only inference cycle wiring the cognitive loops,
  Celtic Cross injection, and outbound trust screening per session.
- Hermes MCP stdio bridge: JSON-RPC over stdin/stdout (initialize, tools/list,
  tools/call), SOUL.md generation, verbatim id echo. SPARK_Mode Off for I/O;
  trust checks run in proven code first.
- Main driver: organ init -> SOUL.md publish -> MCP serve loop.
- Tests: soul, trust, cycle (session formation/isolation), config.

Fixes an orchestrator bug where step 1 advanced onto Phase_Input after Reset,
failing every cycle.

Note: requires GNAT/Alire to build; no Ada toolchain in this environment, so
compilation and gnatprove must run in CI.
2026-06-09 21:50:50 +00:00
gravermistakes
ca3e1c4441
Update alire.toml
:t
2026-05-30 21:37:30 -07:00
gravermistakes
01d8a45c05
Merge pull request #3 from SHOGGOTH-SECTOR/claude/mafiabot-core-setup-W0hUe
Scaffold mafiabot_core module stubs Just getting vague skeletalz first
2026-05-30 17:28:04 -07:00
Claude
3918ed1c1a
Add Alire build setup and populate Engine package
- alire.toml rewritten to valid schema ([[depends-on]], real build-switch
  values); restrictions moved to gnat.adc
- gnat.adc: project-wide Jorvik profile, No_Exceptions, No_Implicit_Dynamic_Code,
  SPARK_Mode On
- mafiabot_core.gpr: source dirs, mains, global config pragmas
- Engine: drop the caller-side precondition race on Transition_State; guard moved
  into the protected body with illegal transitions forcing Fault_Halt
- Empty stubs (economy/sockets/exploits): drop Elaborate_Body so they no longer
  compile until implemented
2026-05-31 00:25:30 +00:00
Claude
d1e4eec578
Scaffold mafiabot_core module stubs
Add assumption-free skeletons for the modules documented in the README:
empty Engine/Economy/Sockets/Exploits packages, null-body Mafiabot and
Engine_Tests procedures, and a placeholder config/config.yaml.
2026-05-31 00:08:43 +00:00
gravermistakes
2b81a9f1cc
Update README with project directory structure
Added project structure and directory details to README.

Signed-off-by: gravermistakes <250037217+gravermistakes@users.noreply.github.com>
2026-05-30 16:57:25 -07:00
gravermistakes
6c39c9088c
Delete mafiabot_core.gpr
Signed-off-by: gravermistakes <250037217+gravermistakes@users.noreply.github.com>
2026-05-30 16:55:43 -07:00
gravermistakes
5953ccf828
Delete mafiabot.adb
Signed-off-by: gravermistakes <250037217+gravermistakes@users.noreply.github.com>
2026-05-30 16:55:10 -07:00
gravermistakes
0884181bfb
Merge pull request #1 from SHOGGOTH-SECTOR/claude/hopeful-curie-XVds1
Move mafiabot files from the-library-of-alexandria
2026-05-30 15:25:30 -07:00
Claude
4bb96661b8
Move mafiabot files from the-library-of-alexandria
- Add mafiabot_core.gpr (Ada project configuration)
- Add mafiabot.adb (main procedure)
2026-05-30 22:24:08 +00:00
gravermistakes
3b4b2fe4c3
Initial commit 2026-05-30 12:59:56 -07:00