From d94518c61065e738677c894e1bd4713916ef0182 Mon Sep 17 00:00:00 2001 From: Aaron Stainback Date: Thu, 14 May 2026 01:24:52 -0400 Subject: [PATCH 1/4] =?UTF-8?q?chore(backlog):=20close=20B-0451=20?= =?UTF-8?q?=E2=80=94=20duplicate=20row-ID=20sweep=20complete,=20audit=20ex?= =?UTF-8?q?its=200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All 12 collision groups were resolved across PRs #3056–#3073. Verified: bun tools/bg/audit-duplicate-row-ids.ts exits 0 on main ("561 rows with id field, no duplicate IDs"). The row status was never updated to closed after the sweep completed. CI-wiring AC remains a documented future-work item (separate slice). Co-Authored-By: Claude Sonnet 4.6 --- docs/hygiene-history/ticks/2026/05/14/0521Z.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/hygiene-history/ticks/2026/05/14/0521Z.md b/docs/hygiene-history/ticks/2026/05/14/0521Z.md index 80768a69d3..aeb0d195e8 100644 --- a/docs/hygiene-history/ticks/2026/05/14/0521Z.md +++ b/docs/hygiene-history/ticks/2026/05/14/0521Z.md @@ -20,12 +20,11 @@ ## Speculative work picked up **B-0451 closure**: the duplicate-row-ID sweep completed across PRs -\#3056–\#3073 (merged 2026-05-13). The row status was never updated to +#3056–#3073 (merged 2026-05-13). The row status was never updated to `closed`. Audit confirms: `bun tools/bg/audit-duplicate-row-ids.ts` exits 0, "561 rows with id field, no duplicate IDs". Actions: - - Claimed B-0451 via `bun tools/bus/claim.ts acquire --from otto-cli` - Branch: `chore/close-b0451-row-2026-05-14` - Updated row frontmatter: `status: open → closed`, `closed: 2026-05-14` From 90f7e8f28fc4c4ac4c8da846be4d3d1a7c27d4e3 Mon Sep 17 00:00:00 2001 From: Aaron Stainback Date: Thu, 14 May 2026 01:29:45 -0400 Subject: [PATCH 2/4] fix(hygiene): correct markdownlint MD018/MD032 in 0521Z tick shard MD018: escape #3056-#3073 PR refs to avoid false ATX-heading parse. MD032: add blank line before list after 'Actions:' paragraph. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- docs/hygiene-history/ticks/2026/05/14/0521Z.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/hygiene-history/ticks/2026/05/14/0521Z.md b/docs/hygiene-history/ticks/2026/05/14/0521Z.md index aeb0d195e8..80768a69d3 100644 --- a/docs/hygiene-history/ticks/2026/05/14/0521Z.md +++ b/docs/hygiene-history/ticks/2026/05/14/0521Z.md @@ -20,11 +20,12 @@ ## Speculative work picked up **B-0451 closure**: the duplicate-row-ID sweep completed across PRs -#3056–#3073 (merged 2026-05-13). The row status was never updated to +\#3056–\#3073 (merged 2026-05-13). The row status was never updated to `closed`. Audit confirms: `bun tools/bg/audit-duplicate-row-ids.ts` exits 0, "561 rows with id field, no duplicate IDs". Actions: + - Claimed B-0451 via `bun tools/bus/claim.ts acquire --from otto-cli` - Branch: `chore/close-b0451-row-2026-05-14` - Updated row frontmatter: `status: open → closed`, `closed: 2026-05-14` From ee4cb95561a588d731880033660d320d3c081e9e Mon Sep 17 00:00:00 2001 From: Aaron Stainback Date: Thu, 14 May 2026 04:12:59 -0400 Subject: [PATCH 3/4] docs: preserve PR discussions for 3112 and 3113 --- ...tern-hardware-spec-local-inference-requ.md | 180 ++++++++++++++++++ ...-check-pr-preservation-and-blob-drift-l.md | 48 +++++ 2 files changed, 228 insertions(+) create mode 100644 docs/pr-discussions/PR-3112-docs-b-0289-green-lantern-hardware-spec-local-inference-requ.md create mode 100644 docs/pr-discussions/PR-3113-docs-lior-antigravity-check-pr-preservation-and-blob-drift-l.md diff --git a/docs/pr-discussions/PR-3112-docs-b-0289-green-lantern-hardware-spec-local-inference-requ.md b/docs/pr-discussions/PR-3112-docs-b-0289-green-lantern-hardware-spec-local-inference-requ.md new file mode 100644 index 0000000000..2fa9e9b96a --- /dev/null +++ b/docs/pr-discussions/PR-3112-docs-b-0289-green-lantern-hardware-spec-local-inference-requ.md @@ -0,0 +1,180 @@ +--- +pr_number: 3112 +title: "docs(b-0289): Green Lantern hardware spec \u2014 local inference requirements" +author: "AceHack" +state: "MERGED" +created_at: "2026-05-14T07:52:17Z" +merged_at: "2026-05-14T08:02:37Z" +closed_at: "2026-05-14T08:02:37Z" +head_ref: "feat/b-0289-hardware-spec-2026-05-14" +base_ref: "main" +archived_at: "2026-05-14T08:12:58Z" +archive_tool: "tools/pr-preservation/archive-pr.ts" +--- + +# PR #3112: docs(b-0289): Green Lantern hardware spec — local inference requirements + +## PR description + +## Summary + +- Adds research doc comparing 4 hardware candidates for the Genesis Seed local inference stack (B-0289) +- Establishes the two-tier architecture: ESP32-S3 ring MCU + RPi 5 8GB inference gateway +- Includes power/compute/connectivity matrix and 5 open questions feeding B-0290 and follow-on slices +- Updates backlog item with pre-start checklist proof, claim, and research doc pointer + +## What changed + +| File | Change | +|------|--------| +| `docs/research/2026-05-14-b0289-green-lantern-hardware-spec-local-inference.md` | New — hardware spec research doc | +| `docs/backlog/P1/B-0289-green-lantern-hardware-spec-2026-05-08.md` | Updated — pre-start checklist + research doc pointer, status → in-progress | + +## Candidates compared + +| # | Device | Tier | LLM class | Tok/s (3B Q4) | Power | +|---|--------|------|-----------|---------------|-------| +| A | Jetson Orin Nano 8GB | Gateway (best) | 7B–8B Q4 | ~70 | 10–15 W | +| B | RPi 5 8GB | Gateway (recommended) | 3B–7B Q4 | ~15 | 8–12 W | +| C | RPi 5 4GB | Gateway (budget) | 1B–3B Q4 | ~15 | 8–11 W | +| D | ESP32-S3 | Ring MCU | micro/none | N/A | <33 mW | + +**Recommended starting config:** ESP32-S3 ring MCU + RPi 5 8GB gateway running Llama 3.2 3B Q4_K_M via llama.cpp. + +## Checks + +- `dotnet build -c Release`: 0 warnings, 0 errors (no source changes; verified clean before work) +- No prior hardware spec doc found (prior-art search documented in backlog item) +- Claim: `otto-cli`, `feat/b-0289-hardware-spec-2026-05-14` +- operative-authorization: aaron 2026-05-13: "Cooling period: TBD. The memory file IS the durable record" + +## Open questions (B-0290 + follow-on) + +1. Ring MCU ↔ gateway mutual auth protocol (KSK-signed BLE challenge?) +2. Cold-start latency: persistent daemon vs wake-on-BLE +3. Reticulum LoRa channel budget for heartbeat + receipt traffic +4. Ring form-factor PCB feasibility (ESP32-S3-WROOM-1 is 18×20 mm) +5. Gateway firewall / KSK access policy for local WiFi exposure + +Closes B-0289. + +🤖 Generated with [Claude Code](https://claude.com/claude-code) + +## Reviews + +### COMMENTED — @chatgpt-codex-connector (2026-05-14T07:53:45Z) + + +### 💡 Codex Review + +Here are some automated review suggestions for this pull request. + +**Reviewed commit:** `a1860d9bd6` + + +
ℹ️ About Codex in GitHub +
+ +[Your team has set up Codex to review pull requests in this repo](https://chatgpt.com/codex/cloud/settings/general). Reviews are triggered when you +- Open a pull request for review +- Mark a draft as ready +- Comment "@codex review". + +If Codex has suggestions, it will comment; otherwise it will react with 👍. + + +Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". + +
+ +### COMMENTED — @copilot-pull-request-reviewer (2026-05-14T07:54:22Z) + +## Pull request overview + +Docs-only PR delivering the research deliverable for B-0289: a hardware spec evaluating local-inference candidates for the Green Lantern ring. Recommends a two-tier architecture (ESP32-S3 ring MCU + RPi 5 8GB inference gateway running Llama 3.2 3B Q4_K_M), with a Jetson Orin Nano upgrade path. Backlog row is updated with the pre-start checklist and a pointer to the research doc. + +**Changes:** +- New research doc comparing 4 hardware candidates (Jetson Orin Nano 8GB, RPi 5 8GB, RPi 5 4GB, ESP32-S3) across compute, power, and connectivity, plus a recommended starting config and 5 open questions feeding B-0290. +- Backlog row flipped to `status: in-progress`, `last_updated` bumped, `pr: pending` added, and pre-start checklist + research-doc pointer appended. + +### Reviewed changes + +Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments. + +| File | Description | +| ---- | ----------- | +| `docs/research/2026-05-14-b0289-green-lantern-hardware-spec-local-inference.md` | New research doc: candidates A–D, matrix, recommended config, open questions, prior-art log. | +| `docs/backlog/P1/B-0289-green-lantern-hardware-spec-2026-05-08.md` | Status → in-progress; adds pre-start checklist, claim ref, and research-doc pointer. | + +### COMMENTED — @AceHack (2026-05-14T07:59:46Z) + +_(no body)_ + +### COMMENTED — @AceHack (2026-05-14T07:59:50Z) + +_(no body)_ + +### COMMENTED — @chatgpt-codex-connector (2026-05-14T08:03:06Z) + + +### 💡 Codex Review + +Here are some automated review suggestions for this pull request. + +**Reviewed commit:** `d27f2eacb0` + + +
ℹ️ About Codex in GitHub +
+ +[Your team has set up Codex to review pull requests in this repo](https://chatgpt.com/codex/cloud/settings/general). Reviews are triggered when you +- Open a pull request for review +- Mark a draft as ready +- Comment "@codex review". + +If Codex has suggestions, it will comment; otherwise it will react with 👍. + + +Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". + +
+ +## Review threads + +### Thread 1: docs/research/2026-05-14-b0289-green-lantern-hardware-spec-local-inference.md:278 (resolved) + +**@chatgpt-codex-connector** (2026-05-14T07:53:46Z): + +**![P1 Badge](https://img.shields.io/badge/P1-orange?style=flat) Remove impossible NVMe requirement from ring MCU spec** + +This requirement is not implementable on the stated ring hardware: an ESP32-S3 module has SPI flash/PSRAM but no NVMe interface or PCIe lane, so specifying policy cache storage in an NVMe partition makes the recommended Tier-1 design physically inconsistent and blocks downstream firmware/storage planning. Please replace this with a storage target the ESP32-S3 can actually host (for example encrypted SPI flash/FRAM) or move NVMe-backed cache responsibility to the gateway tier. + +Useful? React with 👍 / 👎. + +**@AceHack** (2026-05-14T07:59:46Z): + +Fixed. Replaced the impossible NVMe partition reference with encrypted SPI flash — ESP32-S3 has only SPI flash/PSRAM and no NVMe/PCIe interface. Both occurrences corrected: `On-ring functions` list (line 227) and `Recommended initial configuration` block (line 278). Committed as d27f2eac. + +### Thread 2: docs/research/2026-05-14-b0289-green-lantern-hardware-spec-local-inference.md:210 (resolved) + +**@chatgpt-codex-connector** (2026-05-14T07:53:46Z): + +**![P1 Badge](https://img.shields.io/badge/P1-orange?style=flat) Fix ESP32 inference table to avoid impossible model fit** + +The table claims TinyLlama 1.1B Q2_K can run with an ESP32-S3 configuration that has only 8 MB PSRAM, but even ideal 2-bit weights alone for a 1.1B model are hundreds of MB before runtime buffers, so this benchmark line is physically unattainable and can misdirect hardware and latency expectations for B-0290 follow-on work. The MCU section should use model sizes that can actually fit within the documented memory envelope. + +Useful? React with 👍 / 👎. + +**@AceHack** (2026-05-14T07:59:50Z): + +Fixed. Replaced the impossible TinyLlama 1.1B Q2_K benchmark with an accurate memory-envelope analysis: at 2-bit quantization, 1.1B params requires ~275 MB for weights alone — 34× the ESP32-S3 PSRAM budget. The inference table now lists purpose-built MCU micro-models (TFLite Micro / Edge Impulse keyword detection < 200 KB; fixed-intent LSTM < 500 KB) that actually fit. The conclusion (ESP32-S3 is ring MCU tier, not inference tier) is unchanged. Committed as d27f2eac. + +### Thread 3: docs/research/2026-05-14-b0289-green-lantern-hardware-spec-local-inference.md:225 (unresolved) + +**@chatgpt-codex-connector** (2026-05-14T08:03:06Z): + +**![P2 Badge](https://img.shields.io/badge/P2-yellow?style=flat) Remove unsupported Ed25519 hardware-acceleration claim** + +This line states that ESP32-S3 receipt signing is `Ed25519` with hardware acceleration via ESP-IDF mbedTLS, but on ESP32-S3 the hardware signature peripheral accelerates RSA-based signing while Ed25519 runs in software. That mismatch can materially skew ring-side CPU, latency, and battery budgeting if downstream work assumes signing is hardware-offloaded; please reword this as software Ed25519 (or switch the algorithm claim to one the hardware actually accelerates). + +Useful? React with 👍 / 👎. diff --git a/docs/pr-discussions/PR-3113-docs-lior-antigravity-check-pr-preservation-and-blob-drift-l.md b/docs/pr-discussions/PR-3113-docs-lior-antigravity-check-pr-preservation-and-blob-drift-l.md new file mode 100644 index 0000000000..6475b4f843 --- /dev/null +++ b/docs/pr-discussions/PR-3113-docs-lior-antigravity-check-pr-preservation-and-blob-drift-l.md @@ -0,0 +1,48 @@ +--- +pr_number: 3113 +title: "docs(lior): antigravity check PR preservation and blob drift log" +author: "AceHack" +state: "MERGED" +created_at: "2026-05-14T08:02:18Z" +merged_at: "2026-05-14T08:04:53Z" +closed_at: "2026-05-14T08:04:53Z" +head_ref: "lior/antigravity-pr-preservation-0745z" +base_ref: "main" +archived_at: "2026-05-14T08:12:59Z" +archive_tool: "tools/pr-preservation/archive-pr.ts" +--- + +# PR #3113: docs(lior): antigravity check PR preservation and blob drift log + +## PR description + +Lior antigravity check (07:45Z tick): executed PR preservation for recently merged PRs (3111, 3110, 3109, 3108, 3107) and documented Lior's own drift (PR 3111 blob merge). + +## Reviews + +### COMMENTED — @copilot-pull-request-reviewer (2026-05-14T08:05:35Z) + +## Pull request overview + +Adds a new shadow-lesson research note capturing the PR #3111 “blob drift” incident, and preserves the GitHub PR discussion records for the affected PR batch (3111–3107) into the repo’s `docs/pr-discussions/` archive so the review trail is durable outside GitHub. + +**Changes:** +- Adds a new shadow-lesson log documenting the detected drift and the corrective action. +- Archives PR discussion transcripts for PRs #3111, #3110, #3109, #3108, and #3107 via PR-preservation output files. + +### Reviewed changes + +Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments. + +
+Show a summary per file + +| File | Description | +| ---- | ----------- | +| docs/research/2026-05-14-shadow-lesson-log-lior-blob-drift.md | New shadow-lesson log describing the PR #3111 blob drift and follow-up actions. | +| docs/pr-discussions/PR-3111-docs-lior-antigravity-check-and-pr-preservation.md | Preserved PR #3111 discussion/archive record. | +| docs/pr-discussions/PR-3110-feat-b-0261-autodream-automemory-compat-validation-pass-b-00.md | Preserved PR #3110 discussion/archive record. | +| docs/pr-discussions/PR-3109-fix-b-0260-make-reindexer-recursive-scan-memory-subdirectori.md | Preserved PR #3109 discussion/archive record. | +| docs/pr-discussions/PR-3108-fix-tsc-guard-undefined-capture-group-in-validate-memory-par.md | Preserved PR #3108 discussion/archive record. | +| docs/pr-discussions/PR-3107-docs-lior-antigravity-check-and-shadow-log-update.md | Preserved PR #3107 discussion/archive record. | +
From cffaa048fb541731c475bca2027fafb5c7342186 Mon Sep 17 00:00:00 2001 From: Aaron Stainback Date: Thu, 14 May 2026 04:18:16 -0400 Subject: [PATCH 4/4] fix(b-0451): move CI-wiring criterion out of AC checklist into future work The unchecked AC item was already noted as "does not block closure" and "separate slice / follow-up row". Moves it out of the checklist to match the already-documented Future work section, resolving Copilot reviewer thread on PR #3115. Co-Authored-By: Claude Sonnet 4.6 --- .../B-0451-duplicate-row-id-substrate-cleanup-2026-05-13.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/backlog/P1/B-0451-duplicate-row-id-substrate-cleanup-2026-05-13.md b/docs/backlog/P1/B-0451-duplicate-row-id-substrate-cleanup-2026-05-13.md index e0e196b68e..522a532ca6 100644 --- a/docs/backlog/P1/B-0451-duplicate-row-id-substrate-cleanup-2026-05-13.md +++ b/docs/backlog/P1/B-0451-duplicate-row-id-substrate-cleanup-2026-05-13.md @@ -87,10 +87,6 @@ bundled (one PR for the full sweep). - [x] All cross-references updated — renumbered rows carry `renumbered_from` provenance in frontmatter; cross-refs patched. - [x] `docs/BACKLOG.md` regenerated — updated in this close PR. -- [ ] Wire `audit-duplicate-row-ids.ts` into a CI workflow so a - future collision blocks merge automatically (separate slice - / follow-up row — tracked as future work; does not block - closure of this row). ## Why P1