docs(hermes): record the recomputed conflict graph and head SHAs
Refresh #12 and #18 to their live Gitea heads, record #19's replaced head exactly, and replace the pairwise conflict set with a freshly computed one over all 28 combinations. #18+#19 is now clean because #19 no longer duplicates the repo-wide hygiene legacy-exception mechanism that #18 also carries; #12+#19 is new because #12 advanced. Name the exact overlapping files per conflicting pair and how to resolve each additively. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
d208a89d9d
commit
02e559d7ac
@ -197,22 +197,29 @@ remote `main` `d8f2d818b9a552ea6c2d7fe86554be829bd5ffff`:
|
|||||||
|
|
||||||
| PR | Head SHA | Draft | Base | Role |
|
| PR | Head SHA | Draft | Base | Role |
|
||||||
| --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- |
|
||||||
| #12 | `465d386da5237f011cb408f1a3d4b7d0c6d8ffae` | no | `main` | AI usage exporter repair |
|
| #12 | `ed43dbaa7f094e1841aa760862e80015deb9d80c` | no | `main` | AI usage exporter repair |
|
||||||
| #14 | `8c6e3acdacb223f68b1716f0a74bd543e18890e6` | yes | `main` | bounded forge client and least-privilege RBAC |
|
| #14 | `8c6e3acdacb223f68b1716f0a74bd543e18890e6` | yes | `main` | bounded forge client and least-privilege RBAC |
|
||||||
| #15 | `73fefbb5d92ef07371a9a997f22d848acd2d06ed` | yes | `main` | result-decomposition reliability |
|
| #15 | `73fefbb5d92ef07371a9a997f22d848acd2d06ed` | yes | `main` | result-decomposition reliability |
|
||||||
| #16 | `e8c26ecf85a0c802d378fffffb98b7df43b78242` | no | `main` | unprivileged image builder |
|
| #16 | `e8c26ecf85a0c802d378fffffb98b7df43b78242` | no | `main` | unprivileged image builder |
|
||||||
| #17 | `48cbe13ee50ce3fcb07cea3fe8d088cfed349e0c` | yes | `main` | three-lane placement |
|
| #17 | `48cbe13ee50ce3fcb07cea3fe8d088cfed349e0c` | yes | `main` | three-lane placement |
|
||||||
| #18 | `20002527512235b29054f3636b02418168373009` | yes | `main` | distributed three-worker pool |
|
| #18 | `689bcb6e48414854447988ba174143a307d308b9` | yes | `main` | distributed three-worker pool |
|
||||||
| #19 | `8f005458282269ba5c07941814e4237f5d4cf3ac` | yes | `main` | reviewed blocked head; this repair replaces it on the same branch |
|
| #19 | `c808baff40a12a90f43c2e5e39b94d139f88ea29` | yes | `main` | head this repair replaces on the same branch |
|
||||||
| #20 | `a242dcc786576ae1a18000cb4941836ff610dff2` | yes | `main` | CLI process-group reaping |
|
| #20 | `a242dcc786576ae1a18000cb4941836ff610dff2` | yes | `main` | CLI process-group reaping |
|
||||||
|
|
||||||
The repaired #19 SHA cannot be embedded in its own commit without changing that
|
The repaired #19 SHA cannot be embedded in its own commit without changing that
|
||||||
SHA. Resolve it from Gitea after push and require it as `--reviewed-head-sha`;
|
SHA. Resolve it from Gitea after push and require it as `--reviewed-head-sha`;
|
||||||
the PR handoff records the exact value. All eight snapshot heads merge cleanly
|
the PR handoff records the exact value. All eight heads in this table, including
|
||||||
with the snapshot `main` individually. Pairwise `git merge-tree --write-tree`
|
the repaired #19, merge cleanly with `main` individually. Pairwise
|
||||||
found conflicts only for: #12+#17, #14+#15, #14+#16, #14+#17, #14+#20,
|
`git merge-tree --write-tree` over all 28 combinations found conflicts for:
|
||||||
#15+#16, #15+#17, #16+#20, and #17+#20. Gitea's `mergeable=false` on a draft is
|
#12+#17, #12+#18, #12+#19, #14+#15, #14+#16, #14+#17, #14+#19, #14+#20, #15+#16,
|
||||||
not treated as conflict evidence.
|
#15+#17, #15+#19, #16+#19, #16+#20, #17+#18, and #17+#20. Gitea's
|
||||||
|
`mergeable=false` on a draft is not treated as conflict evidence.
|
||||||
|
|
||||||
|
This graph differs from the previous snapshot in exactly two ways. #12 and #18
|
||||||
|
both advanced, which adds #12+#18, #17+#18, and #12+#19. And #19 no longer
|
||||||
|
duplicates the repo-wide hygiene legacy-exception mechanism that #18 also
|
||||||
|
carries, which makes #18+#19 clean. Recompute before every integration step;
|
||||||
|
nothing here is durable.
|
||||||
|
|
||||||
Use this dependency order, refreshing every head and re-running merge-tree at
|
Use this dependency order, refreshing every head and re-running merge-tree at
|
||||||
each step:
|
each step:
|
||||||
@ -227,16 +234,25 @@ each step:
|
|||||||
6. #19 last as the integration/acceptance change, only after #12/#14-#18/#20 are
|
6. #19 last as the integration/acceptance change, only after #12/#14-#18/#20 are
|
||||||
merged and their exact supplied heads are ancestors of refreshed `main`.
|
merged and their exact supplied heads are ancestors of refreshed `main`.
|
||||||
|
|
||||||
#19 overlaps `testing/quality_contract.json` with #14/#15/#16,
|
An exact post-repair merge-tree check reports #19 clean with current `main`, #17,
|
||||||
`testing/quality_coverage.py` and its helper tests with #14,
|
#18, and #20, and conflicting with #12, #14, #15, and #16 on these files:
|
||||||
`test_hermes_auto_router.py` with #18, and existing Kustomize content with
|
|
||||||
#12/#17/#18. Preserve branch coverage, every tracked module, fixture isolation,
|
|
||||||
and all desired-state changes during conflict resolution.
|
|
||||||
|
|
||||||
An exact post-repair merge-tree check against the heads in the table reports
|
| Pair | Overlapping files |
|
||||||
#19 clean with current `main`, #12, #17, and #20, and conflicting with #14,
|
| --- | --- |
|
||||||
#15, #16, and #18. Recompute this graph from the Gitea API immediately before
|
| #12+#19 | `testing/tests/test_hermes_auto_router.py` |
|
||||||
integration; do not infer conflict status from Gitea's draft `mergeable` field.
|
| #14+#19 | `testing/quality_contract.json`, `testing/quality_coverage.py`, `testing/tests/test_quality_coverage_helpers.py` |
|
||||||
|
| #15+#19 | `testing/tests/conftest.py` |
|
||||||
|
| #16+#19 | `testing/quality_contract.json` |
|
||||||
|
|
||||||
|
Every one of those overlaps is additive on the #19 side. Resolve the contract by
|
||||||
|
union — take every PR's managed modules, lint paths, tracked files, and branch
|
||||||
|
tracked files, and never take one PR's quality contract wholesale. #19 adds two
|
||||||
|
fixture-isolation fixtures to `conftest.py` and two lines to the auto-router test;
|
||||||
|
keep both sides. Preserve branch coverage, every tracked module, fixture
|
||||||
|
isolation, and all desired-state changes during conflict resolution.
|
||||||
|
|
||||||
|
Recompute this graph from the Gitea API immediately before integration; do not
|
||||||
|
infer conflict status from Gitea's draft `mergeable` field.
|
||||||
|
|
||||||
The #16/#19 integration must keep both the immutable digest and the source tag
|
The #16/#19 integration must keep both the immutable digest and the source tag
|
||||||
(`newTag: git-<main-SHA>-build-<n>` plus the digest) in rendered image identity.
|
(`newTag: git-<main-SHA>-build-<n>` plus the digest) in rendered image identity.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user