Skip to content

docs(gaps): register GT-639 — the same gap gets fixed twice, because nothing shows work in flight - #299

Merged
beyondnetPeru merged 1 commit into
mainfrom
docs/gt-639-duplicated-work
Jul 30, 2026
Merged

docs(gaps): register GT-639 — the same gap gets fixed twice, because nothing shows work in flight#299
beyondnetPeru merged 1 commit into
mainfrom
docs/gt-639-duplicated-work

Conversation

@beyondnetPeru

Copy link
Copy Markdown
Contributor

On 2026-07-30 the same work was done twice, three separate times, by sessions that could not see each other.

# duplicated work where
1 GT-633 fixed twice — a standalone capture script and an independent in-spec renderer. Both correct, both recapturing the same numbers. Two generators for one artifact is GT-633's own defect one level up, so a third session spent a full reconciliation (#294#297) collapsing them. #276 on main, #279 on develop
2 The evidence guard's parser fixed twice"stop the evidence guard blaming the evidence for two parser defects" vs "the ratchet was stuck by two bugs in itself" d1ea72a3 on main, 5acb29ed on develop
3 A GT id allocated twice, forcing a renumber behind #298 / GT-638

The cost is not the merge conflict

It is the duplicated work that happened before anyone reached the conflict, plus the reconciliation it then required — and that reconciliation introduced a defect of its own: an order-sensitive comparison that rewrote the capture date on every run, invisible for a day because both runs stamped the same date. Three duplications, one repair session, one new bug.

Why the board cannot see it

A row carries a status but not who is working it or where. Two sessions can both read GT-633 · PENDING and both start, correctly. 08-validate-tracking validates within one working tree by construction and cannot know another branch exists.

This is not a missing convention

The single-driver rule for gap waves is already established practice. What is missing is any mechanism that makes it observable, so on a busy day it degrades silently and nobody learns until the merge. That is why the criteria ask for a claim derived from open pull requests rather than for the rule to be written down again.

Distinct from GT-638, and the row says so: that one is allocating a name twice, this one is doing the work twice. Same coordination gap; the id collision is its cheapest symptom.

The id for this row was allocated by union across main and develop, per GT-638.

Verified

08-validate-tracking · 01-validate-docs (1491 files) · 04-check-bilingual-parity · 41 at 38 dead on a clean checkout against a budget of 40 · 46 chain current and at a fixed point. Counters 596/636 → 596/637, pending 22 → 23.

Evolith Core Quality Gates

  • Bilingual Parity: row and catalog entry in EN and ES.
  • Validation Scripts: 01-validate-docs.mjs green.
  • Bilingual Validation: 04-check-bilingual-parity.mjs green.
  • Agnosticism: documentation only.

Linked ADRs / Issues

Conventional Commits

  • Commit follows Conventional Commits.

🤖 Generated with Claude Code

…nothing shows work in flight

On 2026-07-30 the same work was done twice, THREE separate times, by sessions that
could not see each other:

  1. GT-633 was fixed twice — a standalone capture script on main (#276) and an
     independent in-spec renderer on develop (#279). Both correct, both recapturing
     the same numbers. Two generators for one artifact is GT-633's own defect one
     level up, so a THIRD session spent a full reconciliation (#294..#297)
     collapsing them into one renderer.
  2. The evidence guard's parser was fixed twice — `d1ea72a3` on main ("stop the
     evidence guard blaming the evidence for two parser defects") and `5acb29ed` on
     develop ("the ratchet was stuck by two bugs in itself").
  3. A GT id was allocated twice, forcing the renumber behind GT-638.

THE COST IS NOT THE MERGE CONFLICT. It is the duplicated work that happened before
anyone reached the conflict, plus the reconciliation it then required — and that
reconciliation introduced a defect of its own: an order-sensitive comparison that
rewrote the capture date on every run, invisible for a day because both runs
stamped the same date. Three duplications, one repair session, one new bug.

Why the board cannot see it: a row carries a status but not WHO is working it or
WHERE. Two sessions can both read `GT-633 · PENDING` and both start, correctly.
`08-validate-tracking` validates within one working tree by construction and
cannot know another branch exists.

AND THIS IS NOT A MISSING CONVENTION — the single-driver rule for gap waves is
already established practice. What is missing is any mechanism that makes it
observable, so on a busy day it degrades silently and nobody learns until the
merge. That is why the criteria ask for a claim DERIVED from open pull requests
rather than a rule written down again.

Distinct from GT-638, and the row says so: that one is allocating a NAME twice,
this one is doing the WORK twice. Same coordination gap; the id collision is its
cheapest symptom.

Id allocated by union across main and develop, per GT-638.

Verified: 08-validate-tracking, 01-validate-docs (1491 files), 04 bilingual
parity, 41 at 38 dead on a clean checkout against a budget of 40, 46 chain current
and at a fixed point. Counters 596/636 -> 596/637, pending 22 -> 23.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@beyondnetPeru
beyondnetPeru requested a review from a team as a code owner July 30, 2026 15:14
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@github-actions

Copy link
Copy Markdown

📊 Bilingual Coverage Impact

PR Changes

  • Paired EN/ES files modified: 3
  • New EN files needing ES translation: 0

Repository Coverage

Metric Value
Total EN files 524
Total ES files 498
Paired files 0
Coverage 0%

Good: All EN changes have ES counterparts.


Generated by GitHub Actions

@beyondnetPeru
beyondnetPeru merged commit a2d66a3 into main Jul 30, 2026
32 of 34 checks passed
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.

1 participant