the reconciler: the declared forge, read back and made so #37
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Meta/Campaign
Meta/Epic
Meta/Session
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
Reviewed/Confirmed
Reviewed/Curated
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Scope/Campaign
Status/Abandoned
Status/Blocked
Status/Conflicted
Status/In Progress
Status/In Review
Status/Need Grooming
Status/Need More Info
Status/Ready
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Ting/Jostoph!37
Loading…
Reference in a new issue
No description provided.
Delete branch "agent.teyla/Jostoph:tango/33-the-reconciler"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The engine #34 exposed as missing: the estate had a declaration (
nix/forgejo.nixrenders it), it had findings (#33 measured the drift by hand), and it had nothing between them — so drift got fixed the way drift always gets fixed without an engine, by a person with an API call.jostoph conform --spec /etc/jostoph/forgejo-repos.json --api … --token-file …:--applyperforms exactly the edits the report names (settings PATCHed one request per repo, labels created or updated by the forge's own id), then observes again and reports what still drifts — the proof is the forge, not the request log.requireState.Run against the live forge in report mode, it reproduces #33's findings mechanically: 40+ drifted settings fields across the estate, and Ting's six declared org labels all absent.
Rides on
tango/28-steward-conformance(a9a4627, in review as it lands). The first commit fixes a test that is red onmaintoday:every_finding_lands_in_one_comment—status_effectwas declared per conclusion expecting downstream dedup that doesn't happen, so two findings declared two identical comments. It now rides exactly one conclusion (agg-min reason, deterministic), and the body already carries them all.nix flake checkfully green (it was not onmain);cargo fmt/clippy -D warningsclean.Note on base: this branch includes
a9a4627(tango/28), which is pushed but had no PR yet — review that commit there or here as you prefer.In scope: the conform engine, its CLI, the spec on disk via the module, the one-comment fix. Out of scope: performing ruling effects (the executor, #26), branch protections (#32), repo/branch creation. Boundary:
src/reconcile.rs+ CLI wiring; one derivation fix insrc/policy.rs; module ships a file. Acceptance: report reproduces #33's measurements; apply is idempotent by re-observation; tests green.Closes #33.
ab98b36370to7ae6889d44