From da5316335d01058af886b0b183c4cda438db6e12 Mon Sep 17 00:00:00 2001 From: Cameron Date: Tue, 7 Jul 2026 00:13:13 -0700 Subject: [PATCH] Process: PR rule removed outright; ledgers merge by union MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cameron struck the "PRs are the norm" rule entirely (CLI-created PRs do not render on tangled.org; the earlier tick suspension becomes a removal). Landing process: merge to main directly after ./tools/check.sh. Worktree and no-stale-worktrees rules unchanged. New process law from a live incident: append-only ledgers (DEVLOG.md, the DESIGN.md decisions log, spec/README tables) resolve merge conflicts by UNION — keep both sides' entries, never take one side wholesale. The 2026-07-06 merge queue dropped three DEVLOG entries that way; they were restored, and the failure mode is now named in AGENT.md and knowledge/workflows.md. Defense: process-only change; no game behavior. The decisions-log entry is the amendment; honesty clause (the record of what happened must survive parallel work). --- AGENT.md | 18 ++++++++++-------- DESIGN.md | 12 ++++++++++++ DEVLOG.md | 15 +++++++++++++++ knowledge/workflows.md | 12 ++++++++---- 4 files changed, 45 insertions(+), 12 deletions(-) diff --git a/AGENT.md b/AGENT.md index 62561a6a..7b82fff9 100644 --- a/AGENT.md +++ b/AGENT.md @@ -71,11 +71,13 @@ behavior change. (generated code, test-only, formatting). - Commits: no AI attribution, explicit `git add` of intended files only. - Update `knowledge/` files your change made stale, add a `devlogs/` entry for - the session, and land the work by merging to `main` after `./tools/check.sh` - passes. (PRs are the norm in principle, but CLI-created PRs don't appear on - tangled.org's website yet — see DESIGN.md decisions log, 2026-07-06 - suspension. Push `main` directly until the Tangled indexing issue is - resolved.) + the session, and land the work by merging to `main` directly after + `./tools/check.sh` passes (the PR rule was removed 2026-07-07 — see the + DESIGN.md decisions log). +- **Ledgers merge by union.** DEVLOG.md, the DESIGN.md decisions log, and + the spec/README tables are append-only records: resolve merge conflicts + in them by keeping BOTH sides' entries. Taking your side wholesale + silently destroys parallel sessions' history and is a violation. - **HARD RULE — always work in a worktree.** Multiple agent sessions operate this repo in parallel at all times; the main checkout is shared ground. Enter a git worktree as your first action, before any edit (EnterWorktree, @@ -86,6 +88,6 @@ behavior change. under you" there is another session's live work, not noise. (Rule from Cameron, 2026-07-06, after a main-tree revert destroyed a parallel session's uncommitted work.) -- **No stale worktrees.** Every worktree goes to a PR or a merge to main, - then is removed (`git worktree remove` + `git branch -D`). No stale - worktrees accumulate. High velocity, designed for parallel agents. +- **No stale worktrees.** Every worktree goes to a merge to main, then is + removed (`git worktree remove` + `git branch -D`). No stale worktrees + accumulate. High velocity, designed for parallel agents. diff --git a/DESIGN.md b/DESIGN.md index 95f5e7cf..58c6d836 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -1109,3 +1109,15 @@ knows."* law); making trading a sanctioned day-job activity (humans' expectations about your operations are the cover constraint). markets.md stays the B3 scale-up of the same interface. +- **2026-07-07 — PRs are the norm: REMOVED; ledgers merge by union.** + Cameron struck the PR rule entirely (not suspended-pending-fix): CLI + PRs do not render on tangled.org, so the process cannot be followed; + agents land work by merging to `main` directly after + `./tools/check.sh` passes. The worktree and no-stale-worktrees rules + remain. Adopted alongside it, from a live incident: **append-only + ledgers merge by union.** DEVLOG.md, this decisions log, and the + spec/README tables are append-only records; a merge conflict in them + is resolved by keeping BOTH sides' entries, never by taking one side + wholesale. (On 2026-07-06 a merge-queue resolution silently dropped + three DEVLOG entries from a parallel session; they were restored by + union. That failure mode is now a named violation.) diff --git a/DEVLOG.md b/DEVLOG.md index 6ab49d05..30fb41d0 100644 --- a/DEVLOG.md +++ b/DEVLOG.md @@ -2,6 +2,21 @@ Reverse chronological implementation notes. Keep this factual: what changed, why, checks, and spec impact. +## 2026-07-07 - Process: PR rule removed; ledgers merge by union + +- Intent: Cameron removed the "PRs are the norm" rule outright (CLI PRs + don't render on tangled.org; a parallel tick had already suspended it); + and harden against the merge failure that silently dropped three DEVLOG + entries on 2026-07-06. +- Changed: DESIGN.md decisions log — removal entry + the new **ledgers + merge by union** process law (DEVLOG.md, decisions log, spec/README + tables are append-only; conflicts keep BOTH sides). AGENT.md landing + instructions simplified to direct merge-to-main and gained the union + rule; knowledge/workflows.md suspension note replaced with removal + + union rule. Also lands the flow-law commit (messages.md + economy.md) + that had been parked on the unrendered PR #7. +- Checks: docs-only; spec hygiene unchanged. + ## 2026-07-06 - Design session: the flow law (messages + economy) - Intent: Cameron generalized the message-latency yes into a systems diff --git a/knowledge/workflows.md b/knowledge/workflows.md index a868808a..584e141a 100644 --- a/knowledge/workflows.md +++ b/knowledge/workflows.md @@ -65,14 +65,18 @@ sleep 8 && kill %1; grep -iE "panic|ERROR" /tmp/bevy.log review gates. - Commits: **no AI attribution**, plain descriptive messages, body bullets for multi-part changes. Stage files explicitly — `git add -A` is not permitted. +- **Ledgers merge by union.** DEVLOG.md, the DESIGN.md decisions log, and the + spec/README tables are append-only records: resolve merge/rebase conflicts + in them by keeping BOTH sides' entries, then ordering sensibly. Taking one + side wholesale destroys parallel sessions' history (it happened 2026-07-06; + three DEVLOG entries had to be restored). - Spec-driven rule: functional change commits include their DESIGN.md amendment and any knowledge/ updates (see development-style.md). - Remote: `origin` is a Tangled knot (`tangled.org`, SSH). **Land changes by merging to `main` directly** after `./tools/check.sh` passes. (The - "PRs are the norm" rule is suspended — see DESIGN.md decisions log, - 2026-07-06. CLI-created PRs write to the PDS but don't appear on - tangled.org's website, making review impossible. Push `main` directly - until the Tangled indexing issue is resolved.) From your worktree: + "PRs are the norm" rule was removed 2026-07-07 — CLI-created PRs write + to the PDS but don't render on tangled.org, so the process could not be + followed. See the DESIGN.md decisions log.) From your worktree: ```bash git fetch origin && git rebase origin/main -- 2.51.2