Repository navigation
Conversation
|
debt-src at d76bc68, every finding: |
P918 exact-head client-file matchCore747493147; debt-src job123786545713; paired ToAD1330 at1a8053ca4.
Three untouched consumers
52 file matches are source/diff evidence, not type-check proof. Three untouched consumers have no moved import and use migrated parents. The original job retained counts, not those individual mypy diagnostics; their resolution remains for the requested paired integration gate. No author gate/checker was run. UncarriedRecordFormat+3 remains a separate actual growth line; P872 owns the required-key set correction, not this import migration. Original commit dispositions
The replacements were explicitly rebuilt on ordered newer mains, so ancestry/patch identity is not the content criterion. Four-commit path comparison is four-commit-path-disposition.json; the earlier semantic old/current comparison found no unique migration work missing. Original commits/branches remain retained. Assumed: paired gate is still owed; counts do not establish diagnostic resolution or installed behavior. P958 typed_turn_events.py66 caller migration follows accepted Core3613 API, not current landed two-argument API. |
|
Closing as superseded: the declaration move landed on main as 865135f ("Move the declaration cluster into agent_comms.nominal"). Generated by Claude Code |
Summary in numbers
P918: 4 branch commits, 712 rename-aware files / 716 raw changed paths, +1039/-984 against included Core main
068c96371cc56c3059c324eb2597bdf29bd1f83a. Four flat defining modules become zero; oneagent_comms.nominalpackage owns their definitions. 203 class declarations retained: family/discovery 9, codec 191, JSON schema 2, sealing 1. Four thousand relocated owner-source lines are not four thousand lines of deleted behavior.Current Core:
2f510df6cc918008e30d0122962bb3bc623be8f3. Paired OpenHCSDev/toad#1330:03da3d00b2a0b17b5c08534bede88f5f41ed9701, including ToAD main0312fc46c684fa9d04db330fe62ac9967dc6d766(95 files,+111/-111).Preparation only. Core and ToAD must enter ONE paired integration batch; neither half can satisfy the consumer gate against the other package's unmigrated main. P918 stays last behind accepted overlapping features. No tests, builds, provider calls, installation, live-input replay or observation-key reannouncement by this author.
1. Actual defining owners and consumers
Before:
agent_comms/{declared_family,field_codec,json_schema,sealed}.pydefined the cluster; production, hooks, tests, tools and paired consumers imported those flat addresses.After: the complete owner files live at
agent_comms/nominal/. The initializer contains only a docstring. All four old files are deleted; no compatibility modules, reexports, fake__module__, second registry or second codec.The initial current-main cut moved 941 Core import observations /703 files/50 lexical nested imports, plus 110 ToAD observations /94 files/5 nested imports. Conditional/local imports and module-object bindings retain their actual scope. Executable test/support strings, phase owner paths and the constructed DuplicatesPhase codec path move too. PackageDeclarationsPhase deliberately retains its old-path absence checks. Historical transcripts and audit fixtures remain historical, not executable compatibility consumers.
Three moved owners are byte-identical to their ordered base: declaration/discovery, JSON schema and sealing. Codec changes are its parent-relative annotation import and the description correction below. No class names, bases, registration declarations or wire selectors are renamed.
2. Shared lifecycle, discovery and sealing
FamilyMeta(AutoRegisterMeta, ABCMeta)still uses the existing RegistryConfig/LazyDiscoveryDict. Abstract and unnamed-member exclusion remains with the external metaclass.ModuleMembers._named_memberretains its function-local reverse codec import atnominal/declared_family.py:290, as the order requires. Sealed keeps actual defining-module ownership; its implementations move with it.Cold-process controls remain in
tests/test_declared_family.py:210: both entry import orders, lazy family/ModuleMembers lookup, shared consumer identity, seal home, a new slots/MI family member, abstract exclusion, wire round-trip and schema acquisition. They are authored and unrun, not runtime proof.3. Description correction: sixteen copies to one derivation
Before this correction, TextRepresentation read
schema_description; fourteen Core production members, a test HexInteger and ToAD AgentKindText supplied literals. Those sixteen copies and the shared ClassVar declaration are now deleted.After,
TextRepresentation.schema()derives the description once:Every unspelled representation inherits that answer. SpelledText and members that already own genuinely different schema behavior keep it. The two former
text_form()selectors remain deleted; no replacement selector/roster is added. ToAD AgentKindText and the test HexInteger require no description field.tests/test_field_codec.pyasserts literal"PathText text", not a computed copy of the implementation. This intentionally changes the earlier module-qualified description contract to class-qualified wording, per the latest review instruction. No claim that the old emitted descriptions are preserved. Encoding/decoding and family tag declarations are unchanged; descriptions/schema fingerprints still require root's qualification.BOUND-8: fact=representation description; at=the removed per-member literals; derive=the existing TextRepresentation declaration; by=its shared schema method and Python's declared qualname.
4. Source evidence and honest limits
The retained complete scan/map remains the map; no corpus/detector scan per push. Initial ordered-base source preparation covered 1,188 Core +633 ToAD Python files, with zero selected parse omissions and zero executable old-address imports on that cut. Captured sibling source/package roots were screened for actual consumers: Textual 256 files, ui-theme 10, metaclass-registry 10, pinned audit skill 26, plus corresponding captured installed roots. Files without Core-name candidates were text-screened, not dynamically proved.
Existing evidence directory:
/home/ts/.cache/agent-scratch/package-declarations/:current-relocation-plan.json,current-source-closure.json: initial source cuts, scopes, owner/consumer observations and authored edit plan.sequence-main-ast-{before,after}.json: 17 subsequently landed Core Python files retain main's non-import ASTs; one new test import moved to nominal.restart-toad-ast-{before,after}.json: landed prompt behavior retained without a new migration edit; later landed test files match their main blobs.schema-description-{before,after}.json: targeted existing eight-module description family, sixteen literals plus one annotation/read removed, zero remaining description-field sites; no product imports.schema-main-increment.jsonrecords the two newly landed commander-caller modules; their non-import ASTs match main after merging.follow-main-{before,after}.json: the latest 16 landed Core modules, zero parse omissions/remaining old defining imports; 15 non-import ASTs equal main. The remaining phase-evidence module retains its already reviewed nominal owner-path relocation. The two new unit-talk imports are migrated; ToAD's landed CI behavior is retained.follow-main-core-diff-stat.txt,follow-main-toad-diff-stat.txt: full currentgit diff --stat origin/main...HEADoutput.paired-747-client-match.{json,md}: exact debt-src job123786545713, all55 client-file rows;52 already changed in ToAD1330 and3 indirect consumers with no moved import. Also records actual UncarriedRecordFormat+3, which is not discharged by the paired-import explanation. P872 owns the required-key-order correction; no gate repair is smuggled into this migration.four-commit-path-disposition.json: all four original commits' changed paths accounted for; the only deliberately omitted path is main's deleted owner_actions probe. The paired-client report gives each original commit's current file:line disposition.Commands used the existing shared interpreter and NRA ModuleSyntaxIndex/PythonModulePathIdentity; inline source inventory/reproof exited 0. Earlier relocation scripts applied one revision/hash-checked authored batch and were deleted. No executable migration/scanner authority was added to the repository. The install interrupted three edit outcomes; their actual files were inspected before completing the remaining repair, without replaying uncertain inputs.
NRA symbol relocation does not discharge complete module-file lifecycle, module-object bindings, executable strings, sealing or lazy discovery. This is authored relocation informed by NRA source evidence, not native-codemod execution proof. Arbitrary computed imports/reflection and distributions outside inspected roots remain OPEN. Module-qualified comparison_digest content can change StandingRule observation keys; root owns the actual consequence/reannouncement check. Wire digest and family tags are distinct contracts.
5. Preserved history, remaining integration and qualification
Original Core #3576 and ToAD #1313 are closed as superseded, with replacement links. No branch or commit was deleted. Targeted old/current comparison found no unique migration work missing; the sole old-only changed path,
installer/probes/owner_actions.py, was deleted by main24a888254. Original checkpoints and the earlier unpublished local rebase remain retained.This carrier was rebuilt from ordered Core
4c59ef34c/ToAD4c3c4f3a, not mechanically rebased from the stale PRs. Reviewed initial preparatione84ac4531/0cb21ad52remains in ancestry. Landed mains are integrated normally; pending feature implementations and foreign worktrees are not copied.Final consumer closure still follows accepted P957/P927/Core3566/ToAD1319, current P954/P958 corrections and other overlapping features. Their newly accepted imports must migrate on the final paired tree. Root owes current-head review, one combined cold identity/seal/discovery/codec/consumer selection, stored-format/schema and comparison-key assessment, then installed tool discovery and saved-session concurrent native replies/fresh-DM/open-tab-return qualification.
Assumed: latest class-qualified description instruction supersedes the earlier module-qualified wording requirement; source preparation is not merged/installed/working acceptance; all unresolved bindings and runtime obligations remain open.