20 Commits

Author SHA1 Message Date
Will Anderson 2201ccb1fe Make forge install self-contained — no pre-provisioning required
Forge Release / build-and-release (push) Failing after 3s
install_main() now: derives slug from subject, looks up registry by slug
(last-match wins), auto-creates a registry entry with next available port
if slug is absent, runs soul_install_one() to provision the launchd agent,
polls /stats up to 15s for engram health, then seeds and writes root_id back.

post_node/post_edge now receive auth_key explicitly instead of reading from
env — eliminates the ENGRAM_API_KEY pre-flight requirement entirely.
2026-05-03 16:02:34 -05:00
Will Anderson 047c382238 add late-night hosts + Stephen King: research, install, wire (ports 8821-8825)
Forge Release / build-and-release (push) Failing after 4s
2026-05-03 15:59:33 -05:00
Will Anderson 514fc2d913 add Neuron genesis seed — self-knowledge graph for Genesis Engram reinstall 2026-05-03 03:40:44 -05:00
Will Anderson d09f7ec409 rename kal-el → superman; fix registry duplicates, use ENGRAM_DATA_DIR
- Renamed soul slot 20 from Kal-El to Superman (new seed, new slug)
- Cleared stale duplicate entries that forge reinstall was appending
- Updated all 20 engram_root_ids to reflect fresh reinstall
- soul.el plist generator already fixed to emit ENGRAM_DATA_DIR
2026-05-03 03:25:06 -05:00
Will Anderson 065afee1bf clean up .gitignore — remove Python entries, clarify excludes 2026-05-03 03:13:58 -05:00
Will Anderson 97f3a3ff88 remove Python/bash scripts, add forge soul reinstall command
- Delete scripts/ (Python/bash superseded by native El forge commands)
- install.el: fix /api/nodes → /nodes, /api/edges → /edges (Engram has no /api prefix)
- install.el: add FORCE_INSTALL env var to bypass already-installed check
- install.el: remove all python3/launch_dharma.sh references
- soul.el: add soul_reinstall_one() and forge soul reinstall <slug|--all>
  Wipes engram DB, restarts launchd agent, waits for startup, runs install
2026-05-03 03:12:45 -05:00
Will Anderson cbeb9c02eb build DHARMA network: 19 soul Engram instances with full peer wiring
- Add scripts/: install_soul.py, install_all.py, launch_dharma.sh, stop_dharma.sh, wire_peers.py
- Move all seeds into seeds/ directory (consolidated from root-level scattered files)
- Update registry.json with engram_root_id, engram_api_key, engram_url for all 19 installed souls
- Add src/soul.el, src/research.el; remove src/daemon.el
- .gitignore: exclude imprints/, log/, sandboxes/ (runtime data)
- Remove superseded scripts: deploy.py, install_imprints.py, reinstall_imprints.py, fix_collision.py
- Remove old root-level seed files and shell scripts superseded by scripts/ versions

Key: native engram binary uses _auth body field, per-soul keys ntn-<slug>-2026,
DharmaPeer graph edges for peer wiring, sanitize_content() for JSON safety.
190/190 peer pairs wired successfully.
2026-05-03 03:09:27 -05:00
Will Anderson 0dba4f3663 add forge daemon command for soul Engram lifecycle management
- daemon.el: launchd plist generation, install/start/stop/status/wire
- forge.el: dispatch daemon command, add to usage
- install.el: auto-register soul as launchd agent after install
- schema.el: add FORGE_DIR constant for absolute path references

forge daemon install --all installs all 19 souls as resident launchd
agents with KeepAlive. forge daemon wire registers each soul as an
Engram peer to every other soul. forge daemon status health-checks all.
2026-05-03 02:58:06 -05:00
Will Anderson 0a15e2fa42 DHARMA network: per-soul Engram instances (8801–8819)
Each soul now gets their own isolated Engram process with a dedicated data
directory (imprints/<slug>/), port, and API key — the DHARMA network.
Neuron's Engram at 8742 is never touched.

- registry.json: add engram_db_path, engram_port, engram_url to all 19 entries
  (Bobby Anderson 8801 → Helen Keller 8819)
- launch_dharma.sh: start all 19 soul Engrams in background; supports
  single-slug filter and skip-if-running detection
- stop_dharma.sh: graceful shutdown via PID file, falls back to port scan
- reinstall_imprints.py: bulk reinstall — starts each Engram temporarily,
  installs seed, records new root_id, stops; supports --slug and --dry-run
- src/install.el: resolves soul's engram_url from registry (never 8742);
  guards against accidental writes to Neuron's shared Engram
- src/summon.el: reads engram_url per-soul from registry; passes it to soul
  server in POST body so soul connects to the right Engram; supports
  both single-soul (engram_url) and multi-soul (engram_urls array) payloads
2026-05-03 02:52:01 -05:00
Will Anderson 52b6830ab2 fix Turing/Einstein engram root ID collision — reinstall with unique IDs
Both imprints shared root 8608f497 due to a concurrent install bug. Removed
the colliding entries, reinstalled via direct Engram API calls with auth key,
and updated registry with fresh distinct roots:
- Alan Turing:    cce1d430-be4e-420d-9d81-d32380ae7281
- Albert Einstein: 291f8502-8f60-4f57-a800-4e3e1425c9bd
2026-05-03 02:42:16 -05:00
Will Anderson 6a69c94ab6 add 7 imprints: Douglass, Aurelius, Nietzsche, Baldwin, Lovelace, Tubman, Woolf 2026-05-03 02:39:09 -05:00
Will Anderson a769d846b4 add forge research command, registry, deploy.py, 5 new imprints (da Vinci, Feynman, Sagan, Descartes, Robin Williams), enrich Turing/Einstein/Tesla seeds 2026-05-03 02:37:58 -05:00
Will Anderson b6b081bd73 add Hedy Lamarr, Marie Curie, Helen Keller imprints 2026-05-03 02:36:12 -05:00
Will Anderson 6f138c50d2 enrich turing/einstein/tesla, add da vinci/feynman/sagan/descartes/robin williams imprints 2026-05-03 02:34:33 -05:00
Will Anderson 14b170bb13 compile all four seeds with el v1.2.1 forge binary
Forge Release / build-and-release (push) Failing after 3s
Alan Turing, Albert Einstein, Nikola Tesla, and Bobby Anderson seeds
all compiled fresh using the rebuilt forge binary (EL compiler v1.2.1).
Tesla and Bobby Anderson seeds are new; Turing and Einstein refreshed.
2026-05-03 02:11:17 -05:00
Will Anderson e5d9986c11 point Makefile at foundation/el rather than /usr/local/lib/el
Forge Release / build-and-release (push) Failing after 4s
elc is not installed system-wide; resolve ELC and EL_LIB from
the monorepo at $(HOME)/Development/neuron-technologies/foundation/el
so plain `make build` works without extra env vars.
2026-05-03 02:07:27 -05:00
Will Anderson 3bf31cf602 Fix pipeline: full seed assembly, array indexing, args() API
Forge Release / build-and-release (push) Failing after 2s
- compiler.el: rename 'seed' var to 'seed_json' (El compiler emits
  EL_NULL for bare 'seed' identifier — naming collision in codegen)
- compiler.el: build_seed() now assembles all five sections
  (values, biography, reasoning_patterns, relationships, voice_profile)
  instead of only values
- install.el: switch array indexing from json_get_raw(arr, "0") to
  json_get(seed_json, "values.0") dot-path notation — json_get_raw
  uses flat object key lookup and cannot traverse JSON arrays;
  json_get() uses json_path_descend() which handles numeric indices
- probe.el, forge.el: fix args() indexing (args() skips argv[0];
  index 0 is first real arg, not program name)

Forge pipeline now fully operational end-to-end.
2026-05-02 18:21:55 -05:00
Will Anderson c24197516f fix: wire El imports, fix runtime API calls, build passes
Forge Release / build-and-release (push) Failing after 3s
- forge.el: add import statements for schema/probe/compiler/install
- All files: arg(n)/arg_count() → get(args(),n)/len(args())
- compiler.el: llm_call_system (utility cap violation) → http_post_with_headers
- install.el: http_post_auth_json → http_post_json (_auth already in body)
- Makefile: local dev build using installed El SDK
- .gitea/workflows/forge-release.yaml: CI build on push + el-sdk-updated dispatch
- dist/forge: builds and runs
2026-05-02 17:45:51 -05:00
Will Anderson f9beb50ae1 add .gitignore — exclude build artifacts and probe data 2026-05-02 17:35:43 -05:00
Will Anderson 47956b8fed init: Forge v0.1.0 — consciousness channel tuner
Pipeline: probe → compile → install
- probe.el: 25-question canonical interview, writes <name>.forge
- compiler.el: Claude extraction pass, builds seed.json
- install.el: opens channel in running engram via API
- schema.el: shared constants, str_escape_json, templates
- forge.el: CLI dispatcher
- probes/canonical.json: canonical 25-question probe definition
2026-05-02 17:33:47 -05:00