Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/BACKLOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -490,6 +490,7 @@ are closed (status: closed in frontmatter)._
- [x] **[B-0420](backlog/P2/B-0420-poll-pr-gate-thread-pagination-bug-2026-05-11.md)** poll-pr-gate.ts thread pagination drift — NOT A BUG (race condition)
- [x] **[B-0421](backlog/P2/B-0421-grok-peer-call-failure-cursor-agent-exit-1-2026-05-11.md)** Grok peer-call failure — cursor-agent exit 1 during multi-agent review
- [ ] **[B-0430](backlog/P2/B-0430-peer-call-wrappers-codeql-insecure-tmp-file-all-8-wrappers-substrate-consistent-fix-2026-05-13.md)** Peer-call wrappers — CodeQL insecure-temp-file alert on autogenOutputPath() across all 8 wrappers (substrate-consistent fix needed)
- [ ] **[B-0443](backlog/P2/B-0443-launch-substrate-carve-out-for-persona-naming-in-docs-launch-2026-05-13.md)** Launch-substrate carve-out — persona naming allowed in docs/launch/** under existing closed-list pattern

## P3 — convenience / deferred

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
---
id: B-0443
priority: P2
status: open
title: "Launch-substrate carve-out — persona naming allowed in docs/launch/** under existing closed-list pattern"
tier: governance
effort: S
created: 2026-05-13
last_updated: 2026-05-13
depends_on: []
composes_with: [B-0429]
tags: [governance, launch-substrate, persona-naming, agent-best-practices, copilot-recurring-finding]
type: feature
---

# Launch-substrate carve-out for persona naming

## Origin

Recurring Copilot policy finding observed twice on 2026-05-13:

- **PR #2997** (Otto-section recovery into `docs/launch/zeta-launch-thread.md`):
flagged for persona naming ("Otto", "Amara") in current-state
doc
- **PR #3001** (image brief at `docs/launch/2026-05-13-image-brief-for-ani-grok-twitter-launch-hero-image.md`):
Comment on lines +22 to +25
flagged for persona naming + external creator name ("Brian
Clevinger") in current-state doc

Both flag the same policy: `docs/AGENT-BEST-PRACTICES.md` lines
660-740 "No name attribution in code, docs, or skills" — names
appear only on the closed-list of history/research surfaces +
roster-mapping carve-out in governance files.

The existing closed-list:

- `memory/**`
- `docs/BACKLOG.md` / `docs/backlog/**`
- `docs/research/**`
- `docs/ROUND-HISTORY.md`
- `docs/DECISIONS/**`
- `docs/aurora/**`
- `docs/lost-substrate/**`
- `docs/pr-preservation/**`
- `docs/hygiene-history/**`
- `docs/WINS.md`
- `docs/active-trajectory.md`
- commit messages, PR titles + bodies

`docs/launch/**` is NOT on the closed list, yet the launch
substrate operationally requires persona naming because:

1. **Brand register canonized 2026-05-13**: Office paper-factory
+ 8-Bit Theater stick-figure + Tales-from-the-Loop — these
inherently use named characters (Otto = "Michael Scott of
the software plant"; multi-agent team named explicitly)
Comment on lines +53 to +55
2. **Multi-agent factory transparency**: the launch substrate's
value proposition IS "we have 5 named AI agents committing
alongside each other" — naming them is the canonical claim,
not an attribution issue
3. **IP-respect commitment** (canonized today per Brian
Clevinger / 8-Bit Theater substrate): when launch substrate
composes with external creator's work, attribution is
substrate-honest, not policy violation
4. **Currently merged launch substrate** (`docs/launch/zeta-launch-thread.md`
from PR #2980) already uses persona names throughout —
policy is already de-facto carved-out at launch-substrate
scope

## Proposed amendment

Add `docs/launch/**` to the closed-list in
`docs/AGENT-BEST-PRACTICES.md`. The launch-substrate carve-out
rationale: launch substrate is operationally history-tier
(preserves the public-facing positioning at a specific date),
NOT current-state behavioral specification.

Proposed wording (insertion point: after `docs/active-trajectory.md`
line):

> - `docs/launch/**` — launch substrate (public-facing
> positioning artifacts; persona names + external creator
> attributions allowed because the substrate's job is to
> preserve the multi-agent factory's named-team positioning
> + IP-respect attribution at a specific date)

## Acceptance criteria

- [ ] Policy line added to `docs/AGENT-BEST-PRACTICES.md`
closed-list
- [ ] Rationale explicitly preserves the multi-agent
transparency value
- [ ] Cross-references the IP-respect commitment for external
creator attribution
- [ ] Future PRs creating files under `docs/launch/**` should
not trigger persona-naming policy findings

## Composes with

- `.claude/rules/honor-those-that-came-before.md` (unretire
before recreating; persona naming respects existing identity)
- `.claude/rules/glass-halo-bidirectional.md` (substrate
transparency requires named-agent disclosure)
- `memory/feedback_aaron_ip_respect_revenue_share_or_100_percent_to_original_creator_brian_clevinger_8bit_theater_*.md`
(IP-respect commitment; external creator attribution)
- PR #2997 (Otto-section recovery — recurring trigger)
Comment on lines +103 to +105
- PR #3001 (image brief — recurring trigger)
- PR #2980 (the launch thread already operating with persona
naming throughout)
- B-0429 (end-user persona mapping — composes; both at
persona-naming policy scope)

## Pre-start checklist (per backlog-item-start-gate)

- [ ] Prior-art search: `docs/AGENT-BEST-PRACTICES.md` policy
history (any prior carve-out decisions?)
- [ ] Cross-check: existing launch substrate already on main
(PR #2980 + PR #2997 merged content) — confirms
operational practice
- [ ] Verify amendment doesn't conflict with other policy
surfaces (`AGENTS.md`, `GOVERNANCE.md`, `CLAUDE.md`)

## Substrate-honest caveats

- This is policy-amendment substrate, not implementation
- Per the discipline triad (PR #2999): ships unreviewed; the
human maintainer's review composes as additive layer if
needed
- Per no-directives rule: this is proposal, not directive
- Per razor-discipline: operational claim (recurring policy-
finding is observable; amendment relieves it)

## Alternative paths

If the carve-out is rejected:

1. **Rewrite launch substrate to use role-refs**: "commit-keeper"
instead of "Otto"; "ChatGPT-via-MCP integration" instead of
"Amara"; etc. Breaks the Office-paper-factory brand register
canonized today.
2. **Move launch substrate to `docs/research/`**: launch
thread becomes "research artifact" — semantically incorrect
(launch substrate is public-facing positioning, not research)
3. **Accept the recurring policy finding as friction**: future
Copilot reviews keep flagging; future agents keep resolving
with explanations. High notification cost; substrate
unchanged.

The carve-out is the substrate-honest option.

## Full reasoning

`memory/feedback_aaron_ship_unreviewed_version_first_review_layers_compose_against_authentic_base_layer_substrate_honest_publication_discipline_2026_05_13.md`
(the launch-substrate ships-first context)

`memory/feedback_aaron_ip_respect_revenue_share_or_100_percent_to_original_creator_brian_clevinger_8bit_theater_*.md`
(external creator attribution composes)

`docs/AGENT-BEST-PRACTICES.md` lines 660-740 (the closed-list
the amendment extends)

PR #2997 + PR #3001 (the recurring policy-finding observations)
Loading