Skip to content

Derive native function-catalog readiness from current projections - #511

Merged
trissim merged 8 commits into
mainfrom
fix/catalog-current-projection-readiness-20261003
Oct 3, 2026
Merged

trissim merged 8 commits into
mainfrom
fix/catalog-current-projection-readiness-20261003

Conversation

@trissim

@trissim trissim commented Oct 3, 2026 •

Copy link
Copy Markdown
Collaborator

Current source-only guide checkpoint

Head b1d0b6c includes normal main f7de9ef integration and the parent-requested, owner-cleared guide correction. Singer/Planck confirmed no conflicting guide claim or checkout borrower; historical472 is wheel receiving, not guide ownership. Existing canonical strategy owns claim/object-scoped conclusions; viewerQA links to it. Custom authoring requires actual versioned declaration evidence without a copied enum list or invented reflection endpoint. No assay numbers, parameters, answers or frozen-result reclassification. Source receipt.

Source review/diff-check pass; no tests/import/build/install/runtime/SCI contact. Catalog production files are byte-unchanged from cb263. The 79PASS whole-byte-qualified catalog511-package01 target remains immutable at cb263 and does NOT contain this new guide checkpoint. Public/native catalog acceptance is still pending the parent-owned95 lane; this documentation change does not claim biological improvement or installed retrieval proof.

Owner correction

FunctionCatalogPreparation retains FunctionCatalogServiceABC. That original ABC owns the shared FULL/COMPACT refresh recipe and the relocated original family state lock; concrete local/endpoint services own their current projection-readiness decisions. Historical successful futures cannot authorize stale views. Refresh coalesces on the existing worker outside REP, without repeating kernel startup.

Short metadata-cache adoption/publication sections refuse obsolete view commits after another reader adopts newer metadata. Reflection and source polling remain outside the lock; their cost is unmeasured. Final-entry/post-recipe cancellation cannot publish partial successful READY. Original registration receipt, failed/cancelled disposition, incarnation checks, protocols and deadlines unchanged. No generation store, catalog copy, wrapper or fallback.

Scope and actual receiving evidence

Three production files; RootRegistryService/CallableProjection excluded and latest checked394 disjoint. Full NRA/refactor-audit/applicable catalog read. Existing AST tooling:28 production/5291 sites,27 test/3561 sites,8 dependencies,zero source parse errors. Exactly one family state-lock declaration and one refresh recipe on the original ABC. Source/test bytes at AST5dc21 match currentcb263.

Normal main integration includes512 guide and514 registered-source warmup. Prior qualified dependencies yielded77PASS/1FAIL; that original negative remains immutable. No original514 qualified artifact found or fabricated. Exact published9c31e4b/6f5ac0b sources were fetched into OWN bare stores, exported by Git and built by declared backends with existing builder/no isolation/no index/no dependency downloads. Complete ordinary OpenHCS +2 dependency wheels materialized into a NEW private target, no current environment/foreign gitlink/SCI change.

Full-byte proof BEFORE controls:915 OpenHCS wheel records/914 target payload equal,704 tracked Python sources,90 original source projections,13 packaged skill files,30 nativecppipes,42 dependency package sources and both required API declarations exact Git/source/wheel/installed bytes.984 target files/unaccounted0. Post-control proof is byte-identical. Original verifier/RECORD/source projectors own membership; no manual example corpus.

Ordinary installed imports, including actual wheel native ABI, without sys.path mutation/bootstrap monkeypatch/module substitution:79 receiving regressions PASS in9.17s; unit12.815s/peak217.5MiB/CPU1/512MiB/Swap0. Original invalidation/cancellation/warm/full/compact/update/delete/failure/incarnation assertions retained, plus main514 declaration-readiness test. New export/pytest-plugin failures preserved, corrected through original build/import mechanisms.

Concrete receipt: /home/ts/wt/openhcs-issue-batch-20260929/next-h004-preparation-20261002/official30-package-implementation-20261003/READY-511-RECEIVING.rst (SHA a23e0cc0695eceaefaeec3728a2413ac0ad555ecbe47d7f6ae59f56f3ec2102c).
Qualification catalog511-bytes01.json SHA cff18e17117256148e0ac77cf8cf548ca50ca461cec34e27ccd7fee822b8465d. Target: receipt root scratch/catalog511-package01/target. Current sourcecb263946e92929c2476f1125517964713ac931ae remains pushed.

Remaining acceptance

Actual ordinary installed PUBLIC/NATIVE registration -> stale-readiness -> worker/progress -> refreshed search/detail/reference journey is required before merge. Parent503 solely owns6014;95 unreleased, so no competing runtime/client launch. No scientist/native/viewer/provider contact, UNKNOWN replay or hot install. New target is receiving-qualified, not promoted; draft remains open pending released engineering lane.

@trissim

trissim commented Oct 3, 2026

Copy link
Copy Markdown
Collaborator Author

Working source checkpoint e3195c8 published; production remains exactly FunctionCatalogService + FunctionCatalogPreparation. Existing READ/SEARCH/DETAIL/REFERENCE template receives the current gate without duplicate handlers. Full latest NRA/refactor-audit skills/catalog read; before AST28 modules/5235 sites, after AST28/5262 +8 dependencies, zero parse errors. Original failed/UNKNOWN science never replayed. Four bounded source collection attempts retained: operational directory/import-order corrections; missing compiled extension; reuse of real accepted505 source-identical ABI extension then protected historical zmqruntime lacking ViewerReuseAdmissionABC. Zero assertions executed, no test/pass claim. Complete warm/full/compact/add/update/delete/body-only/failure/cancel/incarnation/main-thread source controls are published, but current qualified dependency reception is required to run them. Native installed acceptance needs a later explicitly released engineering slot; none launched, no environment/build/install/submodule mutation. Exact Dalton source-custody receipt read; foreign trees remain protected. Inner reflection cost still unmeasured.

@trissim

trissim commented Oct 3, 2026

Copy link
Copy Markdown
Collaborator Author

Receiving controls07 now77PASS, CPU1/512MiB/Swap0/60s, actual origins asserted, 11.883s unit/206.6MiB peak. Further semantic source inspection found _search_projections can adopt metadataB through a concurrent/reentrant reader while old metadataA projection is still building, then commit the old FULL view into the B cache. Necessary same-owner fix: move existing endpoint _state_lock declaration to FunctionCatalogServiceABC initialization (both concrete constructors call super), use short critical sections for local projection adoption/commit/current snapshot only, and refuse committing a view whose original metadata mapping is no longer adopted. Reflection/source polling remains outside state lock; no new cache/generation or lock across expensive projection. Both complete views rebuilt via same ABC recipe. Adding deterministic reentrant-overlap control, then final bounded checks/normal guide-only main integration. Native95 not released/no launch.

@trissim

trissim commented Oct 3, 2026

Copy link
Copy Markdown
Collaborator Author

Working checkpoint 3cccbb0 is pushed. Existing FunctionCatalogServiceABC owns the shared FULL/COMPACT refresh recipe and the relocated original family state lock; native preparation retains its nominal ABC boundary. Concrete local/endpoint owners supply current-readiness behavior. Short cache-publication sections reject an obsolete view after another caller adopts new metadata; reflection/source polling remain outside the lock. Final-entry and post-recipe cancellation cannot publish successful partial READY. Source08: 78 PASS, 9.57s tests, CPU1/512MiB/Swap0, peak214.2MiB; all earlier collection/fixture failures retained. Normal current-main integration includes guide512 and disjoint source-warmup514; no foreign submodule was updated or staged. Final merged-source/family receipts next. This is source acceptance only: no build/install/native/SCI/UNKNOWN replay, public engineering95 not yet released.

@trissim

trissim commented Oct 3, 2026

Copy link
Copy Markdown
Collaborator Author

Receiving dependency boundary resolved using a NEW ordinary private target, not an invented original514 artifact. Exact main514 ObjectState9c31e4b/python-introspect6f5ac0b fetched into OWN bare stores, exported by Git and built through declared backends with no isolation/index/download/dependency installation. Sourcecb263 ordinary OpenHCS wheel +both whole dependency wheels pip-materialized into a NEW target; no environment/foreign gitlink/liveSCI edit. Full original verifier composition PASS:915 wheel entries/914 target payload equal,704 tracked Python sources,90 source projections,13 skill files,30 cppipes,42 dependency sources and both required method declarations exact Git/source/wheel/target bytes;984 complete target files/unaccounted0. Post-regression byte proof exactly identical. Ordinary installed imports (including actual native extension, no sys.path/module substitution): all79 receiving controls PASS in9.17s, unit12.815s/peak217.5MiB/CPU1/512MiB/Swap0. Original77/1 failure retained; new export/pytest-plugin negatives retained too. Concrete frozen receiving receipt: /home/ts/wt/openhcs-issue-batch-20260929/next-h004-preparation-20261002/official30-package-implementation-20261003/READY-511-RECEIVING.rst; qualification catalog511-bytes01.json SHA cff18e17117256148e0ac77cf8cf548ca50ca461cec34e27ccd7fee822b8465d. Current code headcb263 unchanged. Full ordinary installed PUBLIC/NATIVE freshness journey still required before merge; parent503 solely owns6014,95 unreleased, so no runtime/client launched and draft stays open.

@trissim

trissim commented Oct 3, 2026

Copy link
Copy Markdown
Collaborator Author

Parent accepted READY-511-RECEIVING whole-target/exact dependency-source provenance and79 installed controls. Next public/native freshness journey is now concretely prepared, NOT executed: retained receipt CATALOG511-PUBLIC95-CASE.rst in next-h004-preparation-20261002/official30-package-implementation-20261003; SHA2565503654fbe9c3c40387c80a8922397e9e82bb4ef387153b39a0d0c719806e045. Uses original reviewed diagnostic source, once-only admitted registration, same preparation/custody handle, stale-ready observation, original worker/progress and full/compact/search/detail/reference APIs. No fake MCP full/ref endpoint or update/delete route; failure/cancel remains honest terminal disposition, no reset/replay. Parent95 release is after494; no launch or SCI contact occurred. Source compatibility reviewed against mainf7de9ef:503/520 delta is disjoint from511 catalog owners/control/DTO family, not whole-main installed qualification. Receiving target metadata1.1.8/0.1.14 remains immutable and is NOT claimed to satisfy518 future floors. Existing release owner was directly given standing publication authorization on518 comment5966331513; no parallel upload. Live off-worker responsiveness/inner source-poll costs and observed cancellation window remain unproved until the ordinary parent-owned public journey.

@trissim

trissim commented Oct 3, 2026

Copy link
Copy Markdown
Collaborator Author

The exact future95 command/schema appendix is now complete, NOT executed: existing receipt root next-h004-preparation-20261002/official30-package-implementation-20261003/CATALOG511-PUBLIC95-COMMANDS.rst SHA256c63d8d3bc0719377a8d9c1e48d3e3b9a1543a2205827c917f1712e8905a23eeb. Original public CallCommandSpec grammar, parent-existing McpDevClient.execute argv, original serialization codec, intended-source registration fields, unwrapped preparation handle schema, same-owner stale/current progress observations, actual public typed full/compact/search/detail/reference methods and once-only cancellation/terminal disposition are specified. Original CASE and READY79 receiving proof remain unchanged. Full/ref are ordinary typed execution-client methods, not invented MCP tools; update/delete are source controls only. No launch/source change/new environment/SCI contact. Parent releases next95 after494; receiving target old-version metadata is not PR518 floor acceptance.

@trissim

trissim commented Oct 3, 2026

Copy link
Copy Markdown
Collaborator Author

Owner SOURCE RELEASE: exact unchanged branch head b1d0b6c reviewed against current main ba7b26b. Determining main delta from f7de9ef: no changes to the three511 catalog owners, original DTO/control/execution-client/registry/custom-source lifecycle family or focused controls. Of the previously enumerated28 production-family modules, only core/callable_contract.py changed: preserves_input_main_flow now delegates to its original artifact-output policy (#531); no revision/readiness/projection/registration ABI changed or new use of that property in catalog service. Main viewer-qa #526 retirement changes and511 claim-scope changes are separate sections; GH mergeable=true. Code/three focused test files are byte-unchanged from whole-target79-installed-PASS checkpoint cb263. No pending own source edits, competing implementation, source switch, tests/build or frozen06/SCI sync. Existing seven foreign dirty gitlinks preserved. Revisited NRA/refactor-audit; reused full relevant AST family, not a new global proof. Exact branch is released for parent merge progression, with no additional source gate or CI wait. Actual public catalog acceptance88/6020 remains PARENT PREPARED, NOT STARTED, contingent on parent resource admission; this source release does not claim that unexecuted journey passed and starts no runtime. Parent owns sole case and final merge disposition. No new local receipt: unchanged source/receiving qualifications remain authoritative.

@trissim

trissim commented Oct 3, 2026

Copy link
Copy Markdown
Collaborator Author

Catalog511 ordinary installed live acceptance, release03

Branch headb1d0b6c3e52842604a83bd3fda85c415e7fa8c5d. Parent reviewed its three
production owners against mainba7b26b82717a7bc4de5c9701b413aa64ba13e35. Those
owners and the three focused tests are byte-unchanged fromcb263's79-installed
PASS receiving qualification. Main's additional CellProfiler changes are not
catalog-family changes or implicitly whole-main installed acceptance.

Actual ordinary interpreter/McpDevClient used immutable target07 and existing
paired Python. Cache projector verified6020/loopback/TCP before client.start.
Health identified target07 MCP4052863,version0.8.7,resources ready and no source
drift. Original contexts/capability/tool schemas were retrieved. Parent made
one harmless capability schema mistake(query instead oftext), preserved the
boundary rejection, reflected the schema and used its actualtext field.

Original runtime bootstrap ONCE returned native4055341/create1791032864.58,
6020/7020. Same complete handle was observed while preparation progressed to
ready. Original catalogue preparation ONCE coalesced the existing owner and
returned READY sequence987. No timeout increase, fallback endpoint, native
restart, source overlay or scientific processing execution was used.

Baseline compact and full:268 entries, shared revision
65775edce1ffc638d67d7df8ac822674545cb30088f1e74d01d973d269b6bf77.
Both have no exactregistration_live_probe member. Search is fuzzy and returned
an unrelated acquisition function; the failed assert-empty assertion is retained,
not hidden or treated as existing exact membership. Exact identity absence in
both full public projections was then checked before registration.

The unchanged reviewed synthetic source SHA
64a0fc300bfe17377ffc608ccb8d714aac811abccbb5cea0b0a032a77c854f72
was registered ONCE through MCP to launch_plan.storage_dir, also matching the
native CustomFunctionManager.default_storage_directory owner in this exact
launch environment. Known positive receipt:one persisted function, exact
openhcs:registration_live_probe and stable import
openhcs.processing.custom_functions.registration_live_probe, same incarnation.
Persisted source bytes match that original SHA exactly.

Immediately after the receipt and BEFORE catalog reads, unchanged preparation
handle status returned NOT_STARTED, sequence987, messageCurrent function catalog
projections require preparation. Historical successful READY is not reused.
First ordinary public read refreshed; next observation was already READY
sequence991. A pending refresh window was NOT_OBSERVED, so no responsiveness
or pending cancellation claim is made from this live race. No artificial delay,
failure, cancel, source overwrite or second registration was submitted.

Refreshed compact/full both269 with shared revision
23de081674526f53bea9596d288a8e363ad1453650de06bb863a793fc4651f34.
Both contain the exact new function; ordinary typed search/detail/reference and
MCP search/describe agree. Offset default_repr3,requiredfalse,supplied_byagent;
reference import identity/composite key match the original registration, and its
declaration revision matches the reviewed source SHA. A detail request using
the original baseline revision rejects with the original changed-catalog error.
Final same-handle status READY. Existing79/88 installed controls separately
cover controlled pending/cancel/failure/update/delete/incarnation races; this
live acceptance does not pretend to have observed those public race windows.

Cleanup:original complete runtime handle closed ONCE through MCP FORCE with
request_attempted,acknowledged,endpoint_terminated,process_exited,succeededtrue.
Parent separately proves native4055341 and MCP4052863 absent. client.close and
interpreterexit sent once; originalPTY30134 TERMINAL0; scopeinactive/dead,
Resultsuccess. No discarded failure or uncertain mutation exists. No viewer
was launched. Observed whole-scope peak1848725504B,Swap0 below3Gi cap; history
and generated caches fit the existing ONE64Mi overall case allowance. Dalton
owns final accounting, not a second64Mi reservation.

Closed full journals:
client03.stdin SHA9728a40e19cd75cf00870e806d37507577eaf54ee61929e9711b746fd51e389c
client03.stdout SHAbb5a20f09680d1326948d1f984a6936d3979660126f5c11c6a1f5e11797dff83
client03.timing SHA4f8d50b183ace09b3c5c209f308b951fdc70f3c493432809b9cabe7deff35d98
Original negative02 and invalid-cache bytes remain retained. No personal memory,
blind answers, source/environment installation or frozen science changes.

Disposition:the current-readiness and ordinary installed registration/read
workflow are accepted for merge without hostedCI wait. Inner reflection cost,
public pending/cancel race windows and whole-programme biological success remain
separate gaps, not a new gate preventing shipment of this demonstrated fix.

@trissim
trissim marked this pull request as ready for review October 3, 2026 13:16
Copilot AI balanced review requested due to automatic review settings October 3, 2026 13:16

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@trissim
trissim merged commit 0a3d056 into main Oct 3, 2026
5 of 40 checks passed
@trissim

trissim commented Oct 3, 2026

Copy link
Copy Markdown
Collaborator Author

Merged and independently verified remote main at 0a3d056 after ordinary installed public acceptance (comment5969528147). No hosted CI wait. Exact test runtime/client exited; no active scientist was hot-updated. Existing target07 contains the tested production fix; the newer claim-scoped guide edits on main remain a future package/retrieval boundary, not attributed to current frozen authors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants