You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 607eec1
Browse filesBrowse the repository at this point in the historyBrowse files
docs(plans): re-audit the rename plan and write the name-mapping appendix (#718)
Closes#716.
The plan sat at status draft since 2026-05-30, presenting 2026-05-26 measurements as
current and claiming a prerequisite satisfied months ago. Every quantity in it was wrong,
and it lacked the one artifact its own goal 4 promises.
Current State re-audited against the tree
Root .go files 62 -> 108, provider files 76 -> 238, qualified op.X references
~2,499 -> 3,880, generated files 29 -> 48. Every line reference had shifted, and Node
has moved out of graph.go into node.go since the last audit. The subpackage list was
wrong in both directions: sops/ has left, claimcheck/ and server/ arrived.
The deltas are kept in "What moved between audits" rather than discarded -- the scale
of drift is the argument for not letting a plan sit at draft.
Subpackages dispositioned
claimcheck/ is nearly rename-inert: it hardcodes only pkg/assert and pkg/fsroot as
trust boundaries and loads the whole module by pattern, which the rename does not
change. server/ uses op.ControlPlane, op.RunStatus, and the op.Control* family, NONE of
which this rename touches. Both are Phase 5 concerns only.
Additions since the audit checked for impact
Method claims, the run-state machine, the control plane, sealed resources, and the
conversion rules name claims, control, and conversion -- no graph-structure vocabulary,
and none collides with a target name.
The appendix, which the plan did not have
Rename Mapping was five rows of top-level types. Goal 4 promises reviewers can verify
by inspection; without a full mapping there was nothing to inspect against. The
appendix covers the exported non-test surface: types, constructors, functions, methods
whose own name changes, and hooks.
It also carries two sections that only exist because a rename is not mechanical:
KEEPS ITS NAME, verified by ABSENCE from the diff. A table of only the changes cannot
distinguish "correctly unchanged" from "missed".
DO NOT RENAME -- NOT OURS. pkg/op/default_eval.go reads
tree.Root.Nodes[0].(*parse.ActionNode). Those are text/template/parse types, and .Nodes
is a field on a STDLIB type. A word-level sweep over Node rewrites it and fails to
compile.
Writing it caught an error already in the plan
Phase 1's target list said `GenerateNodeID -> GenerateStepID, NodeID -> StepID`. That is
wrong. flow/helpers.go calls GenerateNodeID(string(Subgraph)), so it mints ids for
composites as well as leaves -- it names the ABSTRACT VERTEX, which under the new
taxonomy is Node, the name it already has. Following the plan as written would have
produced GenerateStepID minting ids for Blocks. Phase 1 and the appendix both corrected.
Open questions settled where they could be
Q2 restated: sops/ is gone, claimcheck/ and server/ arrived, and the starlarkbridge
edit ban has been lifted, so all five subpackages are edit-eligible on the same terms.
Q3 answered: epic #451, with #716 and #715 beneath it.
Q4 left open: TEMPLATE.md gained a Test Plan section on 2026-08-27 and this plan has
none -- for a pure rename the assertion is "every existing test passes unchanged",
which Verification already states. Confirm rather than duplicate.
Q5 added: the Documentation Audit predates 3.2, 3.6, 4.5, and the provider catalog, all
of which now describe pkg/op in prose a pure rename churns. In scope, or a follow-up?
Status draft -> ready. Phase sequencing re-verified: NodeSpec (node.go:473) and
ExecutableUnitSpec (executable_unit.go:425) both exist, so Phase 1 must still free the
name before Phase 2 claims it.
Co-authored-by: David Noble <[email protected]>
| Generated files in scope | 29 `.gen.go`|`pkg/op/provider/*/gen/` + `pkg/op/inventory/`| regenerate via `make build`|
64
-
| Name collisions for new names |`Step` (cross-package only) | repo-wide |`Block`, `Ledger`, `Workflow`, `Definition`, `Executor` are all unused elsewhere. `Step` has no language-level clash: the only existing type is `console.Step` in `internal/console` (a TUI session step, different package); the `pkg/op` "Step" hits are comment prose ("Step 3 fires…"), not identifiers. |
65
-
66
-
### Staleness (measured 2026-08-27)
67
-
68
-
Every quantity above is wrong. [#716](https://github.com/NobleFactor/devlore-cli/issues/716) re-audits it.
69
-
70
-
| Element | Audited 2026-05-26 | Measured 2026-08-27 ||
- Internal symbols that ripple: `NewNode → NewStep`, `NodeSpec → StepSpec`, `node`-named locals REFERRING TO LEAVES
293
+
-**`GenerateNodeID` KEEPS its name** — corrected 2026-08-27. This list previously said `GenerateNodeID → GenerateStepID`, `NodeID → StepID`. That is wrong: `flow/helpers.go` calls it as `GenerateNodeID(string(Subgraph))`, so it mints ids for composites as well as leaves. It names the ABSTRACT VERTEX, which under the new taxonomy is `Node`. See the appendix.
176
294
- All consumer references `op.Node` → `op.Step`
177
295
178
296
**Files:**
@@ -291,9 +409,21 @@ after means shipping a constant named for the type it replaced. Tracked as
291
409
292
410
## Open Questions
293
411
294
-
-[ ]**Q2: Subpackage edit bans beyond `starlarkbridge/`?**`provider/`, `inventory/`, `sops/` move with the directory in Phase 5. The starlarkbridge ban means I never edit its contents directly. Same treatment for the others, or are they edit-eligible?
295
-
-[ ]**Q3: GitHub issue.** Per the standard workflow, an issue tracks this plan. Issue number goes in frontmatter once created (post-prerequisite-merge).
296
-
-[ ]**Q4: Plan template adherence.** This plan deviates slightly from `docs/plans/TEMPLATE.md` (richer phase descriptions; no Migration Path section since rename has no user-facing migration). Confirm acceptable.
412
+
-[x]**Q2: Subpackage edit bans.**~~`provider/`, `inventory/`, `sops/` move with the directory in Phase 5.~~
413
+
Restated 2026-08-27: `sops/` has left the package, and `claimcheck/` and `server/` have arrived. The
414
+
starlarkbridge edit ban has since been lifted, so all five subpackages are edit-eligible on the same terms.
415
+
Dispositions are in §Subpackage disposition.
416
+
-[x]**Q3: GitHub issue.** Epic [#451](https://github.com/NobleFactor/devlore-cli/issues/451), with
417
+
[#716](https://github.com/NobleFactor/devlore-cli/issues/716) (this re-audit) and
418
+
[#715](https://github.com/NobleFactor/devlore-cli/issues/715) (the role rename) beneath it.
419
+
-[ ]**Q4: Plan template adherence.**`docs/plans/TEMPLATE.md` gained a **Test Plan** section on 2026-08-27,
420
+
which this plan does not have. For a pure rename the test plan is "every existing test passes unchanged" —
421
+
which §Verification (per phase) already states, and which is the whole assertion. Confirm that section
422
+
satisfies the requirement rather than adding a redundant one.
0 commit comments