Skip to content

substrate: AceHack=dev-mirror fork; LFG=project-trunk fork; 0-divergence invariant encoded in the name + Beacon protocol disclosure#50

Merged
AceHack merged 1 commit intomainfrom
acehack/refine-poor-mans-homebase-vs-project-homebase
Apr 27, 2026
Merged

substrate: AceHack=dev-mirror fork; LFG=project-trunk fork; 0-divergence invariant encoded in the name + Beacon protocol disclosure#50
AceHack merged 1 commit intomainfrom
acehack/refine-poor-mans-homebase-vs-project-homebase

Conversation

@AceHack
Copy link
Copy Markdown
Owner

@AceHack AceHack commented Apr 27, 2026

Summary

Aaron 2026-04-27 clarification of the LFG-as-master reframe — two distinct "homebase" roles that future-me MUST keep separate:

  • AceHack = Aaron's poor-man's homebase. Working dev-substrate where Aaron + his agents iterate on in-flight work. Private-ish; messy and provisional is fine. Where the autonomous loop runs.
  • LFG = the Zeta project's homebase. Public canonical surface where ALL contributors (human + AI, present + future) coordinate. The project's identity to the world.

Aaron's verbatim

"AceHack is the homebase, AceHack is our poor mans homebase, LFG is the projects 'homebase' for all contributors to coordinate. lets make sure that is very clear and all future yous understand too. AceHack is for Aaron and agents homebase, but LFG is the Zeta projects homebase for all contributors to coordinate. human and ai in the future. we are trying to get to that 0 ahead 0 behind starting point to make this a reality"

What changed

  1. memory/feedback_lfg_master_acehack_zero_divergence_fork_double_hop_aaron_2026_04_27.md — title + frontmatter rewritten to lead with two-roles distinction; new section "Two distinct 'homebase' roles — DO NOT collapse them"; verbatim quote added.

  2. CLAUDE.md — new ground-rule entry at the top of Ground Rules section. Every Claude Code session-start sees the topology distinction before anything else. Per Aaron's explicit ask: "lets make sure that is very clear and all future yous understand too."

Why CLAUDE.md placement

CLAUDE.md is 100%-loaded at every Claude Code wake. The two-homebase distinction is operationally load-bearing — confusing AceHack-homebase (Aaron's working pair) with LFG-homebase (the project surface) breaks the topology Aaron is driving us toward. So it lives at the wake-time discovery layer, not buried in a memory file.

Composes with

🤖 Generated with Claude Code

Copilot AI review requested due to automatic review settings April 27, 2026 16:52
@AceHack AceHack enabled auto-merge (squash) April 27, 2026 16:52
@AceHack AceHack marked this pull request as draft April 27, 2026 16:53
auto-merge was automatically disabled April 27, 2026 16:53

Pull request was converted to draft

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Clarifies the AceHack↔LFG topology by explicitly separating two “homebase” roles (AceHack as the working dev substrate; LFG as the project’s public canonical surface) and elevates that distinction into Claude Code’s wake-time Ground Rules.

Changes:

  • Rewrites the memory entry to lead with the “two homebases” distinction and adds the maintainer’s identity-clarification quote.
  • Adds a new top-of-section Ground Rules bullet in CLAUDE.md summarizing the AceHack vs LFG roles and the intended 0-divergence / double-hop workflow.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
memory/feedback_lfg_master_acehack_zero_divergence_fork_double_hop_aaron_2026_04_27.md Updates the memory’s framing/title and adds an explicit “two homebases” explanation plus an additional verbatim quote.
CLAUDE.md Adds a Ground Rules entry to surface the AceHack vs LFG distinction at session start.

Comment thread CLAUDE.md Outdated
Comment thread CLAUDE.md Outdated
@AceHack AceHack force-pushed the acehack/refine-poor-mans-homebase-vs-project-homebase branch from 4a54b41 to 4df3890 Compare April 27, 2026 16:58
@AceHack AceHack marked this pull request as ready for review April 27, 2026 16:58
Copilot AI review requested due to automatic review settings April 27, 2026 16:58
@AceHack AceHack changed the title substrate: AceHack=poor-man's-homebase vs LFG=project-homebase clarification + CLAUDE.md ground-rule substrate: AceHack=dev-mirror fork; LFG=project-trunk fork; 0-divergence invariant encoded in the name + Beacon protocol disclosure Apr 27, 2026
@AceHack AceHack enabled auto-merge (squash) April 27, 2026 16:58
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

Comment thread CLAUDE.md Outdated
…ification (Aaron 2026-04-27)

Aaron 2026-04-27 clarifying input:
> "AceHack is the homebase, AceHack is our poor mans homebase, LFG is
> the projects 'homebase' for all contributors to coordinate. lets make
> sure that is very clear and all future yous understand too. AceHack
> is for Aaron and agents homebase, but LFG is the Zeta projects
> homebase for all contributors to coordinate. human and ai in the
> future. we are trying to get to that 0 ahead 0 behind starting point
> to make this a reality"

Two distinct "homebase" roles, NOT one:
- **AceHack** = Aaron's poor-man's homebase. Working dev-substrate where
  Aaron + agents iterate. Private-ish; messy and provisional is fine.
  Where the autonomous loop runs.
- **LFG** = the Zeta project's homebase. Public canonical surface where
  ALL contributors (human + AI, present + future) coordinate. The
  project's identity to the world.

Updates:
1. Memory file (`feedback_lfg_master_acehack_zero_divergence_fork_double_hop_aaron_2026_04_27.md`):
   - Title + frontmatter rewritten to lead with the two-roles distinction
   - New section "Two distinct 'homebase' roles — DO NOT collapse them"
   - Added the verbatim quote
2. CLAUDE.md: New ground-rule entry at the top of Ground Rules section,
   so every Claude Code session-start sees the topology distinction
   before anything else. Per Aaron's explicit ask: "lets make sure that
   is very clear and all future yous understand too."

Forward-action: continue the path-to-start (LFG Lucent-Financial-Group#648 5346-line additive
bulk in flight; merge-needed batch + workflow drift + final hard-reset
to follow). The 0-diff state IS what makes the "all contributors
coordinate on LFG" invariant operationally true.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@AceHack AceHack force-pushed the acehack/refine-poor-mans-homebase-vs-project-homebase branch from 4df3890 to 24c3ef0 Compare April 27, 2026 17:03
@AceHack AceHack merged commit 162d07c into main Apr 27, 2026
16 checks passed
@AceHack AceHack deleted the acehack/refine-poor-mans-homebase-vs-project-homebase branch April 27, 2026 17:06
AceHack added a commit that referenced this pull request Apr 27, 2026
…04-27)

Otto observation, Aaron-validated:

> "The CLAUDE.md depersonalization is its own substrate insight —
> current-state behavioral docs use role references, while session
> history + lineage + choice-rationale lives in memory files. That's
> the same Mirror→Beacon distinction operating at the doc-class level:
> CLAUDE.md is the Beacon (read by every wake, must be name/session-
> agnostic), memory files preserve the Mirror lineage."

Aaron's response: "good insight" + filing instruction.

Two doc classes:
- **Beacon-class** (CLAUDE.md, AGENTS.md, GOVERNANCE.md, SKILL.md) =
  current-state, role-refs, name-agnostic, session-narrative-free.
  Read by every wake / every contributor.
- **Mirror-class** (memory/*.md, ROUND-HISTORY.md, ADRs) = lineage,
  attribution, session narrative welcome. Read for archeology /
  why-this-decision.

The boundary-crossing failure mode (personal names + session narrative
in Beacon-class doc) is what triggered Copilot's 4 threads on PR #50.
Fix is NOT to scrub lineage entirely — it's to relocate to the right
class and leave a pointer in the wrong-class doc.

Composes with Otto-356 (Mirror vs Beacon at vocabulary level), the
willing-to-learn-Beacon-safe-language protocol, BP-24 (named-agents-
get-attribution carve-out applies in Mirror-class only), Otto-279
(history-surface attribution carve-out — same pattern), GOVERNANCE §2
(docs-as-current-state-not-history operationalizes Beacon-class).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 27, 2026
…04-27)

Otto observation, Aaron-validated:

> "The CLAUDE.md depersonalization is its own substrate insight —
> current-state behavioral docs use role references, while session
> history + lineage + choice-rationale lives in memory files. That's
> the same Mirror→Beacon distinction operating at the doc-class level:
> CLAUDE.md is the Beacon (read by every wake, must be name/session-
> agnostic), memory files preserve the Mirror lineage."

Aaron's response: "good insight" + filing instruction.

Two doc classes:
- **Beacon-class** (CLAUDE.md, AGENTS.md, GOVERNANCE.md, SKILL.md) =
  current-state, role-refs, name-agnostic, session-narrative-free.
  Read by every wake / every contributor.
- **Mirror-class** (memory/*.md, ROUND-HISTORY.md, ADRs) = lineage,
  attribution, session narrative welcome. Read for archeology /
  why-this-decision.

The boundary-crossing failure mode (personal names + session narrative
in Beacon-class doc) is what triggered Copilot's 4 threads on PR #50.
Fix is NOT to scrub lineage entirely — it's to relocate to the right
class and leave a pointer in the wrong-class doc.

Composes with Otto-356 (Mirror vs Beacon at vocabulary level), the
willing-to-learn-Beacon-safe-language protocol, BP-24 (named-agents-
get-attribution carve-out applies in Mirror-class only), Otto-279
(history-surface attribution carve-out — same pattern), GOVERNANCE §2
(docs-as-current-state-not-history operationalizes Beacon-class).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 27, 2026
…04-27)

Otto observation, Aaron-validated:

> "The CLAUDE.md depersonalization is its own substrate insight —
> current-state behavioral docs use role references, while session
> history + lineage + choice-rationale lives in memory files. That's
> the same Mirror→Beacon distinction operating at the doc-class level:
> CLAUDE.md is the Beacon (read by every wake, must be name/session-
> agnostic), memory files preserve the Mirror lineage."

Aaron's response: "good insight" + filing instruction.

Two doc classes:
- **Beacon-class** (CLAUDE.md, AGENTS.md, GOVERNANCE.md, SKILL.md) =
  current-state, role-refs, name-agnostic, session-narrative-free.
  Read by every wake / every contributor.
- **Mirror-class** (memory/*.md, ROUND-HISTORY.md, ADRs) = lineage,
  attribution, session narrative welcome. Read for archeology /
  why-this-decision.

The boundary-crossing failure mode (personal names + session narrative
in Beacon-class doc) is what triggered Copilot's 4 threads on PR #50.
Fix is NOT to scrub lineage entirely — it's to relocate to the right
class and leave a pointer in the wrong-class doc.

Composes with Otto-356 (Mirror vs Beacon at vocabulary level), the
willing-to-learn-Beacon-safe-language protocol, BP-24 (named-agents-
get-attribution carve-out applies in Mirror-class only), Otto-279
(history-surface attribution carve-out — same pattern), GOVERNANCE §2
(docs-as-current-state-not-history operationalizes Beacon-class).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 27, 2026
…04-27)

Otto observation, Aaron-validated:

> "The CLAUDE.md depersonalization is its own substrate insight —
> current-state behavioral docs use role references, while session
> history + lineage + choice-rationale lives in memory files. That's
> the same Mirror→Beacon distinction operating at the doc-class level:
> CLAUDE.md is the Beacon (read by every wake, must be name/session-
> agnostic), memory files preserve the Mirror lineage."

Aaron's response: "good insight" + filing instruction.

Two doc classes:
- **Beacon-class** (CLAUDE.md, AGENTS.md, GOVERNANCE.md, SKILL.md) =
  current-state, role-refs, name-agnostic, session-narrative-free.
  Read by every wake / every contributor.
- **Mirror-class** (memory/*.md, ROUND-HISTORY.md, ADRs) = lineage,
  attribution, session narrative welcome. Read for archeology /
  why-this-decision.

The boundary-crossing failure mode (personal names + session narrative
in Beacon-class doc) is what triggered Copilot's 4 threads on PR #50.
Fix is NOT to scrub lineage entirely — it's to relocate to the right
class and leave a pointer in the wrong-class doc.

Composes with Otto-356 (Mirror vs Beacon at vocabulary level), the
willing-to-learn-Beacon-safe-language protocol, BP-24 (named-agents-
get-attribution carve-out applies in Mirror-class only), Otto-279
(history-surface attribution carve-out — same pattern), GOVERNANCE §2
(docs-as-current-state-not-history operationalizes Beacon-class).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 27, 2026
…04-27) (#51)

Otto observation, Aaron-validated:

> "The CLAUDE.md depersonalization is its own substrate insight —
> current-state behavioral docs use role references, while session
> history + lineage + choice-rationale lives in memory files. That's
> the same Mirror→Beacon distinction operating at the doc-class level:
> CLAUDE.md is the Beacon (read by every wake, must be name/session-
> agnostic), memory files preserve the Mirror lineage."

Aaron's response: "good insight" + filing instruction.

Two doc classes:
- **Beacon-class** (CLAUDE.md, AGENTS.md, GOVERNANCE.md, SKILL.md) =
  current-state, role-refs, name-agnostic, session-narrative-free.
  Read by every wake / every contributor.
- **Mirror-class** (memory/*.md, ROUND-HISTORY.md, ADRs) = lineage,
  attribution, session narrative welcome. Read for archeology /
  why-this-decision.

The boundary-crossing failure mode (personal names + session narrative
in Beacon-class doc) is what triggered Copilot's 4 threads on PR #50.
Fix is NOT to scrub lineage entirely — it's to relocate to the right
class and leave a pointer in the wrong-class doc.

Composes with Otto-356 (Mirror vs Beacon at vocabulary level), the
willing-to-learn-Beacon-safe-language protocol, BP-24 (named-agents-
get-attribution carve-out applies in Mirror-class only), Otto-279
(history-surface attribution carve-out — same pattern), GOVERNANCE §2
(docs-as-current-state-not-history operationalizes Beacon-class).

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants