Conversation
…po-first policy) Per Aaron Otto-27 "yeah i like it, we can have a machine specific scrubber/lint hygene task for anyting that makes it in by default" + "just run on a cadence". Migrates both CURRENT-*.md distillation files from per-user memory tree to in-repo memory/. Adopts Option D in-repo- first policy: factory-collaboration content lives in repo by default; per-user reserved for genuinely-private (drafts / personal context / machine-scoped). Files migrated: - memory/CURRENT-aaron.md (504 lines) — Aaron's per- maintainer distillation - memory/CURRENT-amara.md (248 lines) — Amara's per- maintainer distillation Per-user source files retain "Migrated to in-repo" header per Overlay A pattern; in-repo copies are canonical going forward. Content audit (Otto-25/26) flagged no redactions needed: - ServiceTitan (public NYSE) - Salary framing (philosophy, not amount) - LFG/AceHack (public GitHub orgs) - No private context detected memory/MEMORY.md index updated with newest-first pointers. Directly answers Amara's operational-gap-assessment cold- start-discoverability concern (per docs/aurora/2026-04-23- amara-operational-gap-assessment.md). External AI collaborators + future maintainers now have fast-path access. Follow-on: machine-specific scrubber hygiene row (next PR; cadenced per Aaron "just run on a cadence"). Attribution: Otto (loop-agent PM hat). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3b77393bc9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. 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".
| - Works in **deep-research mode** — her analytical rigor | ||
| is her signature. Preserve it on ingest. | ||
|
|
||
| **Landed artifact:** `docs/aurora/collaborators.md` |
There was a problem hiding this comment.
Replace missing in-repo source references
This file claims key Aurora sources are already landed in-repo, but those paths are absent in this commit’s tree (for example, git ls-tree -r ee84e04c95dfcea6587942c49b615ee0add56c66 | rg '^docs/aurora/' returns no matches). Because this migration’s goal is external collaborator discoverability, pointing to non-existent source artifacts makes the distilled assertions non-verifiable and breaks the documented “full source” trail; either migrate the referenced docs in the same change or clearly mark them as external/unavailable.
Useful? React with 👍 / 👎.
…uns passed Aaron greenlight on Option D in-repo-first policy + cadenced scrubber. Actions: - submit-nuget reruns PASSED on #149/#154/#170 (GitHub transient confirmed) - PR #197: CURRENT-aaron.md + CURRENT-amara.md → in-repo - PR #198: machine-specific scrubber + FACTORY-HYGIENE row #55 (cadenced detect-only) Phase 1 closure push: 3 of 5 Amara-named PRs unblocked (rerun path). #155 needs deeper rebase. #161 likely clean. Amara's "mechanize failure modes" recommendation → scrubber is the first concrete instance. Attribution: Otto (loop-agent PM hat). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR migrates two per-maintainer “CURRENT-*.md” distillation files into the in-repo memory/ tree and adds them to the shared memory index, aiming to improve cold-start discoverability for collaborators who can’t access per-user memory.
Changes:
- Add
memory/CURRENT-aaron.md(per-maintainer “currently operative” distillation). - Add
memory/CURRENT-amara.md(per-maintainer “currently operative” distillation). - Update
memory/MEMORY.mdto index the new CURRENT files.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
| memory/MEMORY.md | Adds index entries for the new per-maintainer CURRENT distillations. |
| memory/CURRENT-amara.md | Introduces the in-repo distillation for Amara-derived direction and references related Aurora artifacts/protocols. |
| memory/CURRENT-aaron.md | Introduces the in-repo distillation for the human maintainer’s currently operative direction and links to underlying memory sources. |
| the same tick. Skipping is lying-by-omission. The ADR | ||
| at `docs/DECISIONS/2026-04-23-per-maintainer-current-memory-pattern.md` | ||
| (PR #152) is the cross-substrate record of this | ||
| discipline. |
There was a problem hiding this comment.
P1: This cites an ADR at docs/DECISIONS/2026-04-23-per-maintainer-current-memory-pattern.md, but that file does not exist under docs/DECISIONS/ in the repo. As-is, this is a broken cross-reference.
Suggestion: add the ADR in this PR, or update the link to the correct existing decision doc/path.
| the same tick. Skipping is lying-by-omission. The ADR | |
| at `docs/DECISIONS/2026-04-23-per-maintainer-current-memory-pattern.md` | |
| (PR #152) is the cross-substrate record of this | |
| discipline. | |
| the same tick. Skipping is lying-by-omission. PR #152 | |
| is the cross-substrate record of this discipline. |
| > **Migrated to in-repo `memory/` on 2026-04-23** per the | ||
| > in-repo-first policy shift (Otto-27 tick). Amara explicitly | ||
| > flagged inability to inspect the per-user memory tree in | ||
| > her operational-gap assessment (`docs/aurora/ | ||
| > 2026-04-23-amara-operational-gap-assessment.md`); this | ||
| > migration directly answers that gap. Matching per-user |
There was a problem hiding this comment.
P1: This file links to docs/aurora/... (operational-gap assessment), but there is no docs/aurora/ directory in the repo right now, so these references will be dead after merge.
Suggestion: either add the docs/aurora/ directory + referenced docs in this PR, or update these links to the actual in-repo location where the Aurora artifacts live.
| - **Composes with the decision-proxy ADR | ||
| (`docs/DECISIONS/2026-04-23-external-maintainer-decision-proxy-pattern.md` | ||
| — PR #154):** ADR defines proxy-identity layer | ||
| (who / what / authority); protocol defines transport | ||
| layer (how messages move). Distinct concerns; | ||
| intended composition. |
There was a problem hiding this comment.
P1: This references docs/DECISIONS/2026-04-23-external-maintainer-decision-proxy-pattern.md, but that file does not exist in docs/DECISIONS/ in the current repo state. This creates a broken cross-reference for readers trying to follow the protocol/ADR linkage.
Suggestion: add the ADR in this PR, or update the link to the correct existing decision doc/path.
| - **Composes with the decision-proxy ADR | |
| (`docs/DECISIONS/2026-04-23-external-maintainer-decision-proxy-pattern.md` | |
| — PR #154):** ADR defines proxy-identity layer | |
| (who / what / authority); protocol defines transport | |
| layer (how messages move). Distinct concerns; | |
| intended composition. | |
| - **Composes with the decision-proxy ADR work from | |
| PR #154:** the ADR defines the proxy-identity layer | |
| (who / what / authority); this protocol defines the | |
| transport layer (how messages move). Distinct | |
| concerns; intended composition. |
| - [**CURRENT-aaron.md — Aaron's per-maintainer distillation (fast-path); migrated in-repo 2026-04-23 Otto-27 per in-repo-first policy shift**](CURRENT-aaron.md) — currently-in-force rules + working agreements + verbatim quotes from Aaron. Was per-user-only; now accessible to external AI collaborators (Amara) + future maintainers. Not a rule dump; a projection of what's currently operative. | ||
| - [**CURRENT-amara.md — Amara's per-maintainer distillation (fast-path); migrated in-repo 2026-04-23 Otto-27**](CURRENT-amara.md) — distilled currently-in-force rules / design decisions from Amara's external-AI-maintainer inputs. Was per-user-only; now public alongside Aaron's. |
There was a problem hiding this comment.
P1: These new index entries introduce direct contributor names in the shared memory index (and link to files named CURRENT-<name>.md). This appears to conflict with the repo’s stated convention: “No name attribution in code, docs, or skills… names of contributors appear only in persona memory directories (memory/persona/<name>/) and optionally docs/BACKLOG.md” (docs/AGENT-BEST-PRACTICES.md:284-290).
Suggestion: either move these CURRENT files under memory/persona/<name>/ (and link there), or adjust the naming/indexing scheme to use role-based identifiers consistent with that convention.
| - [**CURRENT-aaron.md — Aaron's per-maintainer distillation (fast-path); migrated in-repo 2026-04-23 Otto-27 per in-repo-first policy shift**](CURRENT-aaron.md) — currently-in-force rules + working agreements + verbatim quotes from Aaron. Was per-user-only; now accessible to external AI collaborators (Amara) + future maintainers. Not a rule dump; a projection of what's currently operative. | |
| - [**CURRENT-amara.md — Amara's per-maintainer distillation (fast-path); migrated in-repo 2026-04-23 Otto-27**](CURRENT-amara.md) — distilled currently-in-force rules / design decisions from Amara's external-AI-maintainer inputs. Was per-user-only; now public alongside Aaron's. |
| **Full memories:** | ||
|
|
||
| - `project_aaron_external_priority_stack_and_live_lock_smell_2026_04_23.md` | ||
| (the priority stack) | ||
| - `feedback_free_work_amara_and_agent_schedule_paid_work_escalate_to_aaron_2026_04_23.md` | ||
| (the scheduling authority sharpening — supersedes the | ||
| earlier "Amara's priorities queued, Aaron schedules" | ||
| framing) | ||
| - `feedback_amara_priorities_weighted_against_aarons_funding_responsibility_2026_04_23.md` | ||
| (the funding-priority-distribution substrate; still | ||
| relevant on attribution / principal-agent framing) | ||
| - `feedback_agent_owns_all_github_settings_and_config_all_projects_zeta_frontier_poor_mans_mode_default_budget_asks_require_scheduled_backlog_and_cost_estimate_2026_04_23.md` | ||
| (full GitHub-settings ownership scope + poor-man's- | ||
| mode discipline + budget-ask protocol) | ||
|
|
||
| **Full memories:** | ||
|
|
||
| - `project_aaron_external_priority_stack_and_live_lock_smell_2026_04_23.md` | ||
| (the priority stack) | ||
| - `feedback_free_work_amara_and_agent_schedule_paid_work_escalate_to_aaron_2026_04_23.md` | ||
| (the scheduling authority sharpening — supersedes the | ||
| earlier "Amara's priorities queued, Aaron schedules" | ||
| framing) | ||
| - `feedback_amara_priorities_weighted_against_aarons_funding_responsibility_2026_04_23.md` | ||
| (the funding-priority-distribution substrate; still | ||
| relevant on attribution / principal-agent framing) | ||
|
|
There was a problem hiding this comment.
P1: The "Full memories" pointers in this section reference files that don’t exist in the in-repo memory/ tree (e.g. memory/project_aaron_external_priority_stack_and_live_lock_smell_2026_04_23.md). This makes the "pointer-linked" promise in the header false and leaves readers with broken links.
Suggestion: either migrate the referenced memory files into the repo in the same PR (preferred), or change these bullets to point at existing in-repo paths / remove them until the sources land.
| **Full memories:** | |
| - `project_aaron_external_priority_stack_and_live_lock_smell_2026_04_23.md` | |
| (the priority stack) | |
| - `feedback_free_work_amara_and_agent_schedule_paid_work_escalate_to_aaron_2026_04_23.md` | |
| (the scheduling authority sharpening — supersedes the | |
| earlier "Amara's priorities queued, Aaron schedules" | |
| framing) | |
| - `feedback_amara_priorities_weighted_against_aarons_funding_responsibility_2026_04_23.md` | |
| (the funding-priority-distribution substrate; still | |
| relevant on attribution / principal-agent framing) | |
| - `feedback_agent_owns_all_github_settings_and_config_all_projects_zeta_frontier_poor_mans_mode_default_budget_asks_require_scheduled_backlog_and_cost_estimate_2026_04_23.md` | |
| (full GitHub-settings ownership scope + poor-man's- | |
| mode discipline + budget-ask protocol) | |
| **Full memories:** | |
| - `project_aaron_external_priority_stack_and_live_lock_smell_2026_04_23.md` | |
| (the priority stack) | |
| - `feedback_free_work_amara_and_agent_schedule_paid_work_escalate_to_aaron_2026_04_23.md` | |
| (the scheduling authority sharpening — supersedes the | |
| earlier "Amara's priorities queued, Aaron schedules" | |
| framing) | |
| - `feedback_amara_priorities_weighted_against_aarons_funding_responsibility_2026_04_23.md` | |
| (the funding-priority-distribution substrate; still | |
| relevant on attribution / principal-agent framing) | |
| **Source-memory status:** | |
| The distilled guidance above came from per-user source | |
| memories, but those source files are not yet present in the | |
| in-repo `memory/` tree. Do not treat this section as | |
| pointer-linked until the underlying memory files are migrated | |
| into the repository in the same change that references them. |
| **Full memories:** | ||
|
|
||
| - `project_aaron_external_priority_stack_and_live_lock_smell_2026_04_23.md` | ||
| (the priority stack) | ||
| - `feedback_free_work_amara_and_agent_schedule_paid_work_escalate_to_aaron_2026_04_23.md` | ||
| (the scheduling authority sharpening — supersedes the | ||
| earlier "Amara's priorities queued, Aaron schedules" | ||
| framing) | ||
| - `feedback_amara_priorities_weighted_against_aarons_funding_responsibility_2026_04_23.md` | ||
| (the funding-priority-distribution substrate; still | ||
| relevant on attribution / principal-agent framing) | ||
|
|
There was a problem hiding this comment.
P2: **Full memories:** is duplicated back-to-back (one block starts at ~129, then another starts here). This looks like an accidental copy/paste and makes the section harder to scan.
Suggestion: keep a single Full memories list and include each referenced item only once.
| **Full memories:** | |
| - `project_aaron_external_priority_stack_and_live_lock_smell_2026_04_23.md` | |
| (the priority stack) | |
| - `feedback_free_work_amara_and_agent_schedule_paid_work_escalate_to_aaron_2026_04_23.md` | |
| (the scheduling authority sharpening — supersedes the | |
| earlier "Amara's priorities queued, Aaron schedules" | |
| framing) | |
| - `feedback_amara_priorities_weighted_against_aarons_funding_responsibility_2026_04_23.md` | |
| (the funding-priority-distribution substrate; still | |
| relevant on attribution / principal-agent framing) |
… row #55) (#198) Per Aaron 2026-04-23 Otto-27: "we can have a machine specific scrubber/lint hygene task for anyting that makes it in by default" + "just run on a cadence." Files added: - tools/hygiene/audit-machine-specific-content.sh — scans tracked files for machine-specific patterns (/Users/<name>/, /home/<name>/, C:\Users\<name>, C:/Users/<name>). Detect-only; --list + --enforce modes. - docs/FACTORY-HYGIENE.md row #55 — full schema per existing hygiene-row pattern; Dejan (devops-engineer) on cadenced fire; classified prevention-bearing (row #47 taxonomy). Baseline at first fire: 9 gaps across .claude/skills/, docs/ PDFs, and one legitimate anti-example reference in memory/feedback_path_hygiene.md. All pre-existing; this row surfaces them for opportunistic cleanup. Exclusions (historical content preserved verbatim per append-only discipline): - docs/ROUND-HISTORY.md - docs/hygiene-history/** - docs/DECISIONS/** - the audit script itself (patterns as examples) Composes with Otto-27 Option D in-repo-first policy (PR #197 migrating CURRENT-*.md files) — the scrubber prevents machine-specific leakage as new content enters the in-repo boundary by default. Attribution: Otto (loop-agent PM hat) scripted the audit; Dejan (devops-engineer) owns cadenced operation. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
…ated-branch; #149/#154 armed) #197 merged at 20:44:41Z (CURRENT files now in-repo, Amara-findable). #198 rebased + pushed. Phase 1 acceleration: - #149 + #154 auto-merge armed (were NOT armed before; opened before auto-merge became session-standard) - #149/#154/#161/#170 updated-branch via gh pr update-branch — brought all 4 up to date with main - Cascading merge likely as CI completes + conversation- resolution satisfied #155 deferred (DIRTY + 30 threads; bigger effort next tick). Amara's "merge over invent" direction manifesting in concrete queue-drain. Attribution: Otto (loop-agent PM hat). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…ings Addresses 13 of the 15 substantive findings from PR #170 Copilot review: Row-number corrections: - Row #48 ref: is GitHub surface triage cadence (not cross-platform parity); parity is row #51 - Row #43 ref: clarified SHA-pins via workflow-injection safe-patterns discipline Install-path + version-pin corrections: - .NET 10: install via mise (tools/setup/common/mise.sh + .mise.toml) not dotnet-install.sh; pin via global.json + .mise.toml - bun + TypeScript: no bun.lock committed; pin via package.json (packageManager + deps) - Z3: OS-installed CLI (brew/apt/winget); tools/Z3Verify shells out; no JARs downloaded (unlike TLA+/Alloy) - Stryker.NET: tools/setup/manifests/dotnet-tools (not .config/dotnet-tools.json); no CI job currently invokes - Postgres: no docker-compose.yml in samples/FactoryDemo.Db yet (CRM-shaped sample substrate pending) Reference corrections: - Codex capability map: openai-codex-cli-capability-map.md (full filename) - Gemini capability map: queued (no doc yet) - Per-user memory refs removed from "Composes with" (replaced with in-repo memory/CURRENT-*.md) - Per-user memory refs removed from PQC mandate rationale (noted migration path via in-repo-first policy cadence) Consistency: - Status: ~26 rows (corrected from "~12"); matches open-follow-ups #1 framing - CURRENT-aaron.md refs updated to memory/CURRENT-aaron.md (in-repo per PR #197) Attribution: Otto (loop-agent PM hat). Acts on Copilot P1 review findings; merge-forward on top of origin/main already done. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…substantive remain #154 (decision-proxy ADR + config) merged at 21:28:48Z. Second Amara-named PR canonical. 4 of 5 original Amara PRs merged or close (#149/#161/#170 substantive remain). #200 MD032 regression: my Otto-37 content-fix reintroduced '+' at line-start pattern (same as Otto-35). Replaced with 'and'. Author-time lint rule opportunity queued. 46 unresolved threads across #149/#161/#170/#200 are ALL substantive content findings. Tool has drained all mechanizable classes. Content-review required for rest per Aaron's Otto-31 Option 3. Phase 1 merge-cadence: #196 + #154 + #197 + #198 + #199 (pending) + #200 (pending) all cleared or close. Next-tick reprioritize candidate: Craft next module or gap #2 linguistic-seed first term. Attribution: Otto (loop-agent PM hat). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…ings Addresses 13 of the 15 substantive findings from PR #170 Copilot review: Row-number corrections: - Row #48 ref: is GitHub surface triage cadence (not cross-platform parity); parity is row #51 - Row #43 ref: clarified SHA-pins via workflow-injection safe-patterns discipline Install-path + version-pin corrections: - .NET 10: install via mise (tools/setup/common/mise.sh + .mise.toml) not dotnet-install.sh; pin via global.json + .mise.toml - bun + TypeScript: no bun.lock committed; pin via package.json (packageManager + deps) - Z3: OS-installed CLI (brew/apt/winget); tools/Z3Verify shells out; no JARs downloaded (unlike TLA+/Alloy) - Stryker.NET: tools/setup/manifests/dotnet-tools (not .config/dotnet-tools.json); no CI job currently invokes - Postgres: no docker-compose.yml in samples/FactoryDemo.Db yet (CRM-shaped sample substrate pending) Reference corrections: - Codex capability map: openai-codex-cli-capability-map.md (full filename) - Gemini capability map: queued (no doc yet) - Per-user memory refs removed from "Composes with" (replaced with in-repo memory/CURRENT-*.md) - Per-user memory refs removed from PQC mandate rationale (noted migration path via in-repo-first policy cadence) Consistency: - Status: ~26 rows (corrected from "~12"); matches open-follow-ups #1 framing - CURRENT-aaron.md refs updated to memory/CURRENT-aaron.md (in-repo per PR #197) Attribution: Otto (loop-agent PM hat). Acts on Copilot P1 review findings; merge-forward on top of origin/main already done. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…e noted (#170) * docs: factory technology inventory — first-pass ~26 rows + PQC mandate noted First-pass population of the factory technology inventory doc queued by PR #165's BACKLOG row (Aaron 2026-04-23). Unified tie-together of HARNESS-SURFACES (harnesses), TECH-RADAR (ring adoption), tools/setup/ (install), and per-tech expert skills. Coverage: - Language runtimes + build (.NET 10 F#+C# / Rust / bun+TS / bash+PowerShell) - Data infrastructure (Postgres / Docker / Apache Arrow) - Agent harnesses (Claude Code / Codex CLI / Gemini CLI / OpenAI web UI via Playwright / Playwright) - Formal verification + testing (Lean 4 / Z3 / TLA+ / Alloy 6 / FsCheck / xUnit / Stryker.NET / BenchmarkDotNet) - Static analysis + security (Semgrep / CodeQL / Roslyn / F# analyzers / markdownlint-cli2 / actionlint / shellcheck) - CI + publishing (GitHub Actions / NuGet) PQC-mandate added to Open follow-ups per Aaron 2026-04-23: "any crypto graphy we decide to use should be quantium resisten, even one place we don't use it could be a place for attack". Currently no crypto in violation; rule is forward-looking. Full mandate in per-user memory feedback_all_cryptography_quantum_resistant_even_one_gap_is_attack_vector_2026_04_23.md. Living doc — ~26 rows in first-pass; more rows land on future on-touch fires. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * docs(factory-technology-inventory): content fixes per Copilot P1 findings Addresses 13 of the 15 substantive findings from PR #170 Copilot review: Row-number corrections: - Row #48 ref: is GitHub surface triage cadence (not cross-platform parity); parity is row #51 - Row #43 ref: clarified SHA-pins via workflow-injection safe-patterns discipline Install-path + version-pin corrections: - .NET 10: install via mise (tools/setup/common/mise.sh + .mise.toml) not dotnet-install.sh; pin via global.json + .mise.toml - bun + TypeScript: no bun.lock committed; pin via package.json (packageManager + deps) - Z3: OS-installed CLI (brew/apt/winget); tools/Z3Verify shells out; no JARs downloaded (unlike TLA+/Alloy) - Stryker.NET: tools/setup/manifests/dotnet-tools (not .config/dotnet-tools.json); no CI job currently invokes - Postgres: no docker-compose.yml in samples/FactoryDemo.Db yet (CRM-shaped sample substrate pending) Reference corrections: - Codex capability map: openai-codex-cli-capability-map.md (full filename) - Gemini capability map: queued (no doc yet) - Per-user memory refs removed from "Composes with" (replaced with in-repo memory/CURRENT-*.md) - Per-user memory refs removed from PQC mandate rationale (noted migration path via in-repo-first policy cadence) Consistency: - Status: ~26 rows (corrected from "~12"); matches open-follow-ups #1 framing - CURRENT-aaron.md refs updated to memory/CURRENT-aaron.md (in-repo per PR #197) Attribution: Otto (loop-agent PM hat). Acts on Copilot P1 review findings; merge-forward on top of origin/main already done. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * docs(factory-technology-inventory): drain PR #170 review threads Per-thread fixes: - Gemini CLI capability-map now points at existing docs/research/gemini-cli-capability-map.md (no longer marked as queued / not-yet-present). - OpenAI web UI + Playwright rows: drop the bun + @playwright/test claim and the package.json version-pin claim. package.json has no Playwright dependency; Playwright is plugin-enabled only via .claude/settings.json. - Stryker.NET row: corrected Version pin to 'unversioned in setup manifest (tracks latest)' to match tools/setup/manifests/dotnet-tools, and synced TECH-RADAR ring to Trial. - Semgrep / CodeQL / Stryker / bun+TS rings synced to TECH-RADAR (Trial, not Adopt). - Semgrep install: corrected to 'CI-installed via pip install semgrep in .github/workflows/gate.yml' and removed the hardcoded '14 custom rules' count. - Docker row: corrected Install path to 'Manual / OS package install' (setup scripts do not detect or install Docker today). - Postgres row: dropped reference to a non-present samples/FactoryDemo.Db/docker-compose.yml; points at the real samples/FactoryDemo.Api.* trees instead. - GitHub Actions row: clarified SHA-pin is the actual pin mechanism; row #43 cited as the workflow-injection audit (the source-of-truth row), not as the SHA-pin policy itself. - Open follow-up #2: corrected row reference from #48 (GitHub surface triage) to #51 (cross-platform parity). * docs(pr-preservation): drain log for PR #170 (factory technology inventory) 23 threads drained; rebase + content fixes per drain log. --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Summary\n\nPer Aaron Otto-27 greenlight. Migrates both CURRENT-*.md files from per-user to in-repo memory/. Adopts Option D: in-repo-first policy for factory-collaboration content.\n\nDirectly answers Amara's cold-start-discoverability concern from her operational-gap assessment (PR #196). External AI collaborators + future maintainers now have fast-path access.\n\nContent audit flagged no redactions needed (ServiceTitan public NYSE, LFG/AceHack public GitHub orgs, salary-framing philosophy-not-amount).\n\nFollow-on: machine-specific scrubber hygiene row (next PR; cadenced).\n\nOtto (loop-agent PM hat).