De-fork spike S1: baseline metrics + upstream-merge replay harness
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- git, typescript
Research direction
Start by reading docs/internal/2026-07-18-defork-spike-spec.md and the existing marker-guard job. Then inspect script/upstream/taxonomy.ts, census.ts, divergence.ts, and replay.ts to understand the required baselines, parsing, diff, and merge behavior. Done means the committed baselines, empty exemptions file, CI ratchet wiring, first v1.18.3 replay, regenerated divergence numbers, and feasibility-plan addendum are present.
Written by the indexing model from the issue text.
Description
Stage S1 of the de-fork spike (spec: docs/internal/2026-07-18-defork-spike-spec.md, Codex-consensus-approved rev 4).
Deliverables, all in script/upstream/:
taxonomy.ts— 3-bucket classification (upstream_shared / fork_owned / fork_added_outside_boundary) against the pinned v1.17.9 upstream tree, upstream-existence precedence, 10-path.opencode/overlap pinned by a generated oracle test.census.ts— stack-based marker-block parser, category table, versioned JSON envelope,--summary/--json/--check/--diff-budgetmodes; multiset ratchet with quantity-scoped committed exemptions.divergence.ts— files/hunks/lines vs upstream base per bucket, pinned diff options.replay.ts— explicit-base three-way merge viagit merge-tree --write-tree --merge-base(no working-tree mutation), conflict taxonomy, census attribution with SHA-mismatch rejection. First real run vs v1.18.3.- Committed baselines + empty exemptions file + CI ratchet wiring into the existing marker-guard job.
- Regenerated headline divergence numbers + feasibility-plan addendum.
Zero product-behavior risk (tooling/tests/CI only). Mergeability gates per spec §0.
- Dominant language
- TypeScript
- Stars
- 813
- Forks
- 134
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 65
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from AltimateAI/altimate-code
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
AltimateAI/altimate-code#1359 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
AltimateAI/altimate-code#1323 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
AltimateAI/altimate-code#1288 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
AltimateAI/altimate-code#1285 ·
-
privacy: Altimate Base consent dialog no longer discloses persistent per-installation identifier Open
Difficulty 1/5 Under an hour Newbie friendliness 88/100
AltimateAI/altimate-code#1284 ·
All issues in AltimateAI/altimate-code
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
bcgov/bc-wallet-mobile#4761 · 1 comment ·
-
external-issue to-triage
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
area-deployment area-integrations triage:bot-seen
Difficulty 2/5 Half a day Newbie friendliness 86/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
refactor
Difficulty 2/5 1-3 hours Newbie friendliness 84/100