docs: fold research deltas into architecture contract + plan #10

Merged
buddysan merged 3 commits from pd/research-deltas into main 2026-09-16 14:33:26 +00:00
Owner

What

Applies docs/research/arc-arb-learnings.md §6 (PR #6, 46e47bc) to docs/architecture.md and docs/plan.md, touching only the rows §6 names.

architecture.md: §2.3 route_key, changed_pool_seeded; §2.4 affordable_priority_fee, regime_index0_tip_p50, cap = min(config_cap, affordable), regime-derived; §2.5 revert_reason, contention_streak, dropped_cooldown; §3 adapterKind 3 = UNISWAP_V4_FLASH, 4 = LIQUIDATE reserved + setAdapter code check + startup preflight; §4.2 gas→base rate verified 1e12; §4.5 refuse aliased submit hosts, -32005 = degraded class; §4.6 route cooldown 4×3^(streak−1) cap 4800; §5 changed-pool seeding + regime sampler; §7 mempool-none / fee-ordered / moving-regime rows.

plan.md: Phase 2/3/4/5/6 bullets per §6; status addendum: CI landed (PR #5 / WP 7920), sandwich / pending-backrun / frontrun / JIT closed as impossible, not deferred.

Line count: architecture.md 233 (cap 250). No open PR touches these files at push time.

🤖 Generated with Claude Code

## What Applies `docs/research/arc-arb-learnings.md` §6 (PR #6, `46e47bc`) to `docs/architecture.md` and `docs/plan.md`, touching only the rows §6 names. **architecture.md**: §2.3 `route_key`, `changed_pool_seeded`; §2.4 `affordable_priority_fee`, `regime_index0_tip_p50`, `cap = min(config_cap, affordable)`, regime-derived; §2.5 `revert_reason`, `contention_streak`, `dropped_cooldown`; §3 `adapterKind 3 = UNISWAP_V4_FLASH`, `4 = LIQUIDATE` reserved + `setAdapter` code check + startup preflight; §4.2 gas→base rate **verified 1e12**; §4.5 refuse aliased submit hosts, `-32005` = degraded class; §4.6 route cooldown `4×3^(streak−1)` cap 4800; §5 changed-pool seeding + regime sampler; §7 mempool-none / fee-ordered / moving-regime rows. **plan.md**: Phase 2/3/4/5/6 bullets per §6; status addendum: CI landed (PR #5 / WP 7920), sandwich / pending-backrun / frontrun / JIT **closed as impossible, not deferred**. Line count: architecture.md 233 (cap 250). No open PR touches these files at push time. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
docs: fold research deltas into architecture contract + plan
All checks were successful
ci / forge-tests (pull_request) Successful in 5s
ci / python-tests (pull_request) Successful in 6s
02953642f0
Apply docs/research/arc-arb-learnings.md §6 (PR #6, 46e47bc) to the
contract and plan, limited to the rows §6 names:

architecture.md — §2.3 Opportunity gains route_key + changed_pool_seeded;
§2.4 Bid gains affordable_priority_fee + regime_index0_tip_p50 with
cap = min(config_cap, affordable), bids regime-derived; §2.5 SubmitResult
gains revert_reason + contention_streak + dropped_cooldown; §3 reserves
adapterKind 3 = UNISWAP_V4_FLASH and 4 = LIQUIDATE, setAdapter code check
+ startup adapter preflight; §4.2 gas->base rate settled as exactly 1e12
(0x3600…0000 is a 6-dec view of native USDC, verified both nets); §4.5
rpc_pool refuses aliased submit hosts and treats -32005 as a degraded
class; §4.6 per-route revert-streak cooldown 4*3^(streak-1) cap 4800;
§5 changed-pool seeding + regime sampler; §7 rows for mempool none,
fee-sorted ordering, moving mainnet regime.

plan.md — Phase 2/3/4/5/6 bullets per §6 (phase text otherwise
untouched); status update records CI (PR #5, WP 7920) and that
sandwich/pending-backrun/frontrun/JIT are closed as impossible by chain
design, not deferred.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Signed-off-by: BuddySan <[email protected]>
Merge branch 'main' into pd/research-deltas
All checks were successful
ci / forge-tests (pull_request) Successful in 1s
ci / python-tests (pull_request) Successful in 7s
c2e121b137
buddysan force-pushed pd/research-deltas from c2e121b137
All checks were successful
ci / forge-tests (pull_request) Successful in 1s
ci / python-tests (pull_request) Successful in 7s
to 07ddd8b36a
All checks were successful
ci / forge-tests (pull_request) Successful in 1s
ci / python-tests (pull_request) Successful in 7s
2026-09-16 13:58:35 +00:00
Compare
fortiblox-dev approved these changes 2026-09-16 14:02:31 +00:00
Dismissed
fortiblox-dev left a comment

automerger v2 auto-approved: all 7 gates pass. Approver: fortiblox-dev (opposite-identity rule). Gates: mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker.

automerger v2 auto-approved: all 7 gates pass. Approver: fortiblox-dev (opposite-identity rule). Gates: mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker.
Merge branch 'main' into pd/research-deltas
All checks were successful
ci / forge-tests (pull_request) Successful in 3s
ci / python-tests (pull_request) Successful in 9s
a82c8520c6
fortiblox-dev approved these changes 2026-09-16 14:10:25 +00:00
Dismissed
fortiblox-dev left a comment

automerger v2 auto-approved: all 7 gates pass. Approver: fortiblox-dev (opposite-identity rule). Gates: mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker.

automerger v2 auto-approved: all 7 gates pass. Approver: fortiblox-dev (opposite-identity rule). Gates: mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker.
buddysan force-pushed pd/research-deltas from a82c8520c6
All checks were successful
ci / forge-tests (pull_request) Successful in 3s
ci / python-tests (pull_request) Successful in 9s
to 6681c5dc45
All checks were successful
ci / forge-tests (pull_request) Successful in 2s
ci / python-tests (pull_request) Successful in 6s
2026-09-16 14:13:24 +00:00
Compare
buddysan dismissed fortiblox-dev's review 2026-09-16 14:13:24 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

Author
Owner

Warning

Automerger: manual rebase required (require_signed_commits=true on main)

This PR is behind base. Forgejo's API-rebase (POST /pulls/10/update?style=rebase) creates NEW commit SHAs with no GPG/SSH signature — the [repository.signing] MERGES = always setting only signs MERGE commits, not rebased intermediates. The push-hook would then reject the rewritten head with HTTP 409 Forbidden: branch main is protected from unverified commit.

Fix: rebase locally with your signing key configured and force-push the signed head. Automerger will pick up the new signed head within ~60s.

git fetch origin main
git rebase origin/main
git log -1 --show-signature   # confirm the head is signed ("Good signature")
git push --force-with-lease

First-time on a new dev box? Canonical Forgejo signing key fingerprint is SHA256:lfMR6IkEwX0UFDh8MRePjH6PabSduQDZYmezIaSoFYo (registered as id=6 under buddysan, verified for commit signing). If your local git log -1 --show-signature reports a different fingerprint or No signature, follow the onboarding doc at /root/forgejo-dev-onboarding.txt on your dev host (canonical: docs/canonical/new-dev-box-onboarding.md in n5pro-homelab) to install the key and set user.signingkey + commit.gpgsign + gpg.format=ssh.

See feedback_forgejo_api_rebase_unsigned memory for the full root-cause.

> [!WARNING] > **Automerger: manual rebase required (require_signed_commits=true on `main`)** This PR is behind base. Forgejo's API-rebase (`POST /pulls/10/update?style=rebase`) creates **NEW commit SHAs with no GPG/SSH signature** — the `[repository.signing] MERGES = always` setting only signs MERGE commits, not rebased intermediates. The push-hook would then reject the rewritten head with HTTP 409 `Forbidden: branch main is protected from unverified commit`. **Fix:** rebase locally with your signing key configured and force-push the signed head. Automerger will pick up the new signed head within ~60s. ```bash git fetch origin main git rebase origin/main git log -1 --show-signature # confirm the head is signed ("Good signature") git push --force-with-lease ``` > **First-time on a new dev box?** Canonical Forgejo signing key fingerprint is `SHA256:lfMR6IkEwX0UFDh8MRePjH6PabSduQDZYmezIaSoFYo` (registered as id=6 under buddysan, verified for commit signing). If your local `git log -1 --show-signature` reports a different fingerprint or `No signature`, follow the onboarding doc at `/root/forgejo-dev-onboarding.txt` on your dev host (canonical: `docs/canonical/new-dev-box-onboarding.md` in n5pro-homelab) to install the key and set `user.signingkey` + `commit.gpgsign` + `gpg.format=ssh`. See `feedback_forgejo_api_rebase_unsigned` memory for the full root-cause.
Merge remote-tracking branch 'origin/main' into pd/research-deltas
All checks were successful
ci / forge-tests (pull_request) Successful in 4s
ci / python-tests (pull_request) Successful in 6s
82c6391826
fortiblox-dev approved these changes 2026-09-16 14:25:49 +00:00
Dismissed
fortiblox-dev left a comment

automerger v2 auto-approved: all 7 gates pass. Approver: fortiblox-dev (opposite-identity rule). Gates: mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker.

automerger v2 auto-approved: all 7 gates pass. Approver: fortiblox-dev (opposite-identity rule). Gates: mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker.
Merge branch 'main' into pd/research-deltas
All checks were successful
ci / forge-tests (pull_request) Successful in 5s
ci / python-tests (pull_request) Successful in 31s
ci / forge-tests (push) Successful in 5s
ci / python-tests (push) Successful in 35s
843b9e1c01
fortiblox-dev left a comment

automerger v2 auto-approved: all 7 gates pass. Approver: fortiblox-dev (opposite-identity rule). Gates: mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker.

automerger v2 auto-approved: all 7 gates pass. Approver: fortiblox-dev (opposite-identity rule). Gates: mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker.
buddysan deleted branch pd/research-deltas 2026-09-16 14:33:26 +00:00
Author
Owner

Auto-merged by forgejo-automerger at 2026-09-16 14:33:26 UTC. Approver: fortiblox-dev (opposite-identity rule, Option C upgrade 2026-05-13). Merger: buddysan via fast-forward-only (NOT admin force_merge). Criteria passed: mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker. Branch 843b9e1c01 merged onto main and feature branch deleted. See project_forgejo_automerger memory for rationale.

Auto-merged by **forgejo-automerger** at 2026-09-16 14:33:26 UTC. **Approver:** `fortiblox-dev` (opposite-identity rule, Option C upgrade 2026-05-13). **Merger:** `buddysan` via `fast-forward-only` (NOT admin `force_merge`). **Criteria passed:** `mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker`. Branch `843b9e1c01` merged onto `main` and feature branch deleted. See `project_forgejo_automerger` memory for rationale.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
fortiblox/arc-mev-bot!10
No description provided.