Repository navigation
Conversation
…onstructor patches
|
Unready producer prototype pushed. See docs/declared-field-state.md for the working #32 paired-source checkpoint and the current #46 API/probe. Current producer head is deliberately NOT compatible with the still-unported companion frontend branches. Declaration identity across schema replacement/undo and the overloaded topology owner index remain structural work; do not install or merge as complete. |
|
Checkpoint cc83a3e fixes an invalid inheritance claim: RootFields is a namespace, not a declared field. Before: RootFields(FieldProxy) inherited default/value metadata with no declaration, and a root field named value collided with whole-root value. After: FieldNamespace owns state/structure discovery, children, attribute binding and the single subscription-lifetime implementation; FieldProxy and RootFields consume it as siblings. Root datum/default/reset/write methods were deleted. Delegate admission synchronizes before checking the owner. Consumer search across ObjectState, FormBridge, PyQt, OpenHCS, Toad and Core found no root fields.write/reset/raw or external FieldProxy isinstance dependencies. Eleven focused tests pass, including value-named declaration and delegate replacement; 24 source-paired Toad checks and actual native-input/undo/unmount journey pass. NRA module_syntax_index drove the ownership move; prior full-corpus evidence and source relationships are in docs/declared-field-state.md. Dynamic field_type factory resolution is still open-ended, not a proof of external subtype behavior. Issues #32/#46 remain incomplete; no installation/completion claim. |
|
Qt progress belongs here, not in the repository API contract: PyQt ef7243c pairs with ObjectState cc83a3e production and FormBridge 881157d. Six source-paired Qt cases pass, including actual default/explicit form construction, native text/reset clicks with one mutation/publication, null/absence/inheritance, existing/nested views reacting to backend enablement, stale checkbox paint not becoming data, observer release and nested signal blocking. Details: PyQt #34 comment 6212298431. The API document now contains only lasting contract, without issue numbers, status, plan or evidence inventory, as requested in 11356. Both issues remain incomplete: Qt window/list/bridge callers, OpenHCS/Core consumers, optional/inline forms, saved-source migration, mutation omission/null admission and coherent installed acceptance remain. Pausing new UI/provider/build runs for the announced Codex migration; all production changes are pushed. |
Inspection/member correction delivered (not completion of the entire cutover)Pair: ObjectState
Source evidenceNRA ModuleSyntaxIndex/class-family census covers eight production/dependency roots: 1,585 modules; 9,875 before/9,876 after class rows; zero parse errors. Conditional Qt declarations/runtime signal bindings are not claimed statically resolved. Actual C3 MRO and shared implementation identity were checked for base/no-scroll int/double controls. A new numeric leaf supplies its native Qt base, type/range and any real formatter; it does not copy data-state or subscription algorithms. Requested raw rg Owned evidence: Confirmed behavior
Earlier import, signal-ordering, tuple-selection, constructor-tracking and negative-entry failures are retained separately; acceptance is the corrected run, not a silent retry. Test expectation that None means inherited display was replaced by explicit Inherit plus a distinct literal-null assertion; no skip/xfail, weakened count, timeout increase or provider replay. This is source-paired acceptance, not shared installation or full OpenHCS/Core/Qt-window cutover. Existing drafts and saved-data migration remain unfinished. |
Typed field members across the bridge boundaryPaired source checkpoints: ObjectState Owner and consumers
Source evidenceNRA Exact search after migration:
Evidence root: Confirmed behaviorReal Qt form/native typing, production Qt main-thread dispatcher, authenticated localhost ZMQ server/client, declaration-aware DTO decoding, mutation/catalog, reset, original-handle history undo, absence and view/server disposal pass. Explicit wire examples:
Receipts: Remaining application blockerOpenHCS tests do not reach collection. The old installed metaclass-registry lacks |
Declaration-owned checkpoint (source-paired, not installed)Pushed heads: ObjectState 93eae56; FormBridge b5d3af8; PyQt 8690060; OpenHCS f0c07c411. Dependency python-introspect ffcffaa (PR #25). ValueDeclaration compiles annotations once. ParameterOwnerDeclaration owns parameters, field_types and init_field_names (one definition each); constructor and configuration owners share that implementation. FieldValue.of only preserves meaning members or boxes data; it does not classify runtime payloads. Named configuration access is absent on scalar leaves. Declared collection element types own traversal and serialization. DeclaredValue shares metadata/copy/serialization lifecycle between configuration and collection values. InheritedDefault is the single frozen class-keyed default record; ValueDefault/FactoryDefault materialize it. own_default and inherited_default now index declared fields and raise KeyError for unknown names. Their direct resolver callers validate against the requested declaration; configuration_mro(field_name) filters ancestors by their declared fields before reading defaults. All touched production roots have zero Text-line counts (published baseline -> checkpoint): | production root | is_container | is_config_type | literal The two remaining lazy callback-name lines are its definition and register_type_resolver registration; zero callers, imports or exports remain in the touched production family. The normalization wrapper/cache and per-caller fallback expressions are removed. Archived dirty-before normalization count was 45, now 2. FormBridge FieldValue.of: published 3 -> 2; archived dirty-before 15 -> 2. get_base_type_for_lazy: 8 -> 0. metadata.get: 4 -> 2. Combined requested regex: published 15 -> 4; archived dirty-before 27 -> 4. The remaining FieldValue.of sites preserve DTO meaning after mapping JSON data, not payload kind. The remaining metadata.get sites read canonical runtime code-document tokens, not declaration metadata. widget_creation_type consumers: WidgetCreationPipeline.init selected an enum by the string; it now calls param_info.creation_type(WidgetCreationType). ParameterFormManager._create_parameter_widget only logged it; it now logs the actual info class. All four string ClassVars are deleted. NRA syntax/family evidence: 1,590 production/dependency modules, 9,953 classes, no parse errors. AST calls: ObjectState getattr 28 -> 13, FormBridge 17 -> 15; is_container/is_config_type calls zero, is_dataclass exactly one annotation compiler call. Dynamic resolution is not established by these syntax counts; the actual source-paired journey below checks the affected behavior. Exact deleted Python type-name DTO declarations remain: source_type (1), object_state_path_type (2), raw_value_type (2), resolved_value_type (2), object_type (3), help_target_type (1). Genuine mime_type is retained. Deletion gates cover the exact declarations, not all *_type fields. Verification: python-introspect public resolver/analyzer 64 passed; producer declaration/handle/inspection/scopeless/codegen/deletion cases 51 passed; bridge DTO/deletion cases 29 passed; Qt declared/numeric cases 66 passed. Actual source-paired native Qt input, main-thread dispatch, authenticated localhost ZMQ, DTO decode, reset, undo and disposal passed with null, empty string, text None, inheritance and absence. No provider and no installation. Still unfinished: OpenHCS config startup reaches SourceBindingsConfig.post_init but attempts to iterate Inherit in its source-binding normalization. Earlier removed has_value reads in the shared normalization owner are repaired; the whole remaining post-init normalizer needs a directive-aware owner pass. The old test_subfield_semantics.py still imports deleted MISSING/string APIs and fails collection; this failure is retained, not skipped or xfailed. Full OpenHCS/app acceptance and #32/#46 cutover are not complete. doctrine-segment remains the implementation owner. Dependency: python-introspect ffcffaa, draft PR #25. No shared runtime publication/restart performed. |
|
Fresh direct-task checkpoint addressing the source-plan roster/C3 review; this does not resume the blocked P44 goal or claim final P44 acceptance. Published source pairing:
Ownership and deletions:
NRA source evidence: 54 relevant production modules across ObjectState, FormBridge, PyQt, python-introspect and OpenHCS parsed; zero parse errors. Before/after source-plan roster calls: source_bindings.py 5→0, config.py 5→0. Explicit named-parent post-init calls: 2→0. Declaration, inheritance, write/check/call and consumer sites are retained at Verification:
|
|
P44 takeover checkpoint (not ready):
|
Work in progress for #32 and #46. The field-read contract, existing owners, complete consumer migration and saved-data cutover are in docs/declared-field-state.md. Source implementation and actual application acceptance follow. No compatibility aliases, fallback readers or second path registry.