G13: Close public artifact distribution and platform acceptance gaps without private infrastructure #186
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
P1
P2
P3
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#227 Composed Tier-2/Tier-3 harness and installed acceptance successor of excluded #141
Creatidy/scarcity-router
Reference
Creatidy/scarcity-router#186
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Goal
Product owner: Scarcity Router; G13/G08. Source: Creatidy architecture v1.0 (2026-10-04), sections 1-5, 7-13, 14-18 via #173. Deliver evidence-backed public artifact/release readiness and supported platform journeys, keeping human release/merge/deploy authority separate.
Why and Evidence
Develop
8d9d4b04bcb23fe19ff702b6209fbcb1537cdf1b:docs/release-engineering.md,.github/workflows/release.yml, Dockerfile andtools/package_check.pyprovide wheel/sdist/build/installed smoke/Windows ZIP seams. Docs explicitly say no package index/container registry release; GHCR publish job remains a future contract; signed Windows MSIX is an unevidenced fail-closed seam.m10-acceptance.mdlists LIVE_WINDOWS_ACCEPTANCE, WINDOWS_CODE_SIGNING, LIVE_CODEX_SUBSCRIPTION, PYPI_TRUSTED_PUBLISHER and host-diversity gates. These known results must be tracked, not called complete because synthetic tests pass. 2026-10-27 (D-083): the former blanket prerequisites on excluded #139 (TLS lifecycle) and #141 (composed acceptance) were removed as stale/inverted; their still-required content is owned by active successors #224 (transport/TLS, security-critical) and #227 (downstream composed acceptance) and never blocks this issue's independently executable artifact/build work.Scope
Public artifact readiness: implement the already documented missing GHCR publication stage and prove applicable Windows packaging/signing path when separately authorized resources exist; verify wheel/sdist/portable worker artifacts and clean installed-user journeys across supported platforms, explicit upgrade/restart/uninstall/retained-state and server-only/recommendation-only modes. Record external owner activation steps and platform limits. Coordinate #224 for transport/TLS support and #227 for composed/live reception — successors, not prerequisites of this issue. Public modules may depend on other public modules, never private onprem.
Acceptance Criteria
Dependencies, Priority, Reuse and Authority
Independently executable now: GHCR publication-job implementation with fail-closed validation, release artifact inventory and checksum verification, Windows portable ZIP build/packaging correctness, offline Linux/WSL installation and upgrade tests, honest platform/gate status reporting. These do not wait for #224, #227, signing, deployment authority or final composed acceptance. #185 cross-product compatibility is delivered. Separately gated (never claimed here): real Windows acceptance, MSIX signing/certificates, PyPI/GitHub owner configuration, real live-provider tests, release/tag/deployment/public publication — and no publishing workflow execution or develop→main promotion.
Reuse release workflow, Dockerfile, package checks, existing worker service/tray/setup; inspect PyInstaller/signing/container upstreams at exact versions/files/license/attribution/security/negative tests/dependencies/maintenance before changes. Priority: required public product completion, never dismissed as 'later'. Refs #173, #95/#97, #113, D-083, #224/#227, #185.
Future Windows/CI/provider/service access, signing identity, registry/PyPI activation and any inference/release/deploy require separate owner authority; registration grants none. No automatic global trust-store changes, permissions, branch protection, main modification or publication.
Public installed distribution/receipt counterparts now exist: Creatidy/model-intelligence#18 (MI package/artifact migrations), #19 (installed MI–Router update/outage acceptance); Creatidy/creatidy-kernel#62 (Kernel install/state compatibility), #60 (composed controlled-task acceptance). This issue keeps only Router's uncovered public artifact/platform result; Router #139/#141/#185 retain their distinct scopes. Module publication/installed proof -> compatibility -> separately authorized composed receipt; no cross-repo writes, release/tag/inference/deploy authority granted.
Selected by resumed owner-authorized /loop after fresh complete14-issue queue and unchanged exact wontfix exclusions; owner's next preference186 follows recorded183 contract research (comment19648; exposure authority remains explicitly gated before substantive implementation). Native predecessor185 closed; no139/141 blanket prerequisite. Clean develop base04f40ddf59ea1abba6719208166daa94aeeddb1a. Bounded first implementation unit: GHCR build/verify/archive and tag-only least-privilege publication jobs under the existing frozen contract, with offline structural/fail-closed tests and honest artifact/external-gate docs. Preserve manual workflow_dispatch as build/verify only, all artifacts built before publication, PyPI last, exact-source provenance/checksums, Linuxamd64 initially (no unevidenced arm64), existing Windows signing fail-closed seam. No new action/dependency if existing pinned actions + Docker CLI suffice. No workflow dispatch, tag, upload, signing, release/deploy or GitHub mutation will be executed by this delivery. One branch/PR, one active mutator; ordinary independent complete-PR security/correctness/UX review required, default10 invocations; bounded implementation/recovery120min. Further186 ACs and platform gates stay explicit rather than falsely closed by this unit.
Existing selected delivery now has PR231, branchissue-186-ghcr-distribution, HEAD5e8f74773509d0eaa1e595aabb281fe1f20b9596/base=merge-base04f40ddf59ea1abba6719208166daa94aeeddb1a. Implements the independent GHCR code/build lane, not full186 closure. No new issue or live operation. Bounded implementation worker GLM-5.3-Flash only; one mutator, parent performed serial source/acceptance checks and final test-fixture correction. Required sanitized validation:3113 tests OK/18 skips(707.250s),basedpyright0/0/0; focused117; package-check allpassed; actionlint/shellsyntax/whitespaceclean. Six intended files only; clean checkout after commit. Whole-PR independent native GLM-5.3 security/correctness/UX review will be invocation1 of defaultmaximum10 for186/231, preserving any future failures/remediation ordinals. Other186 platform/live/signing/activation scope remains explicitly open.
Independent GHCR code/build unit integrated via PR231 at develope34a8880b01695baef14579c71dd740a25c32e39 (parents04f40ddf59ea1abba6719208166daa94aeeddb1a,5e8f74773509d0eaa1e595aabb281fe1f20b9596). FreshGit verified approvedHEAD ancestor and integrated tree1b05714857bef48d84f9ee93f156e94bb2a687b5 EXACTLY equals tested/reviewedHEAD. Native GLM-5.3 pr-reviewer session ses_e7d344d86ffeMLXRlyZW4Df754 invocation1/10:APPROVE/findings[], security/correctness/UX complete. Gate3113OK/18skips707.250s,basedpyright0/0/0,packagecheckallpass,focused117/actionlint/shellsyntax/whitespaceclean. No actual Docker/registry/CI/tag/signing/publication/release/deploy run.
Issue186 remains OPEN. AC2 GHCR implementation is now delivered; docs distinguish CODE from LIVE_GHCR_PUBLICATION. Retained scope: realWindows+tray/service/portable acceptance and MSIX/signing resources, platform install/upgrade/recovery evidence, owner registry/PyPI activation and actualpublication. Existing wheel installed smokes prove fresh installation/commands/defaults/MCP/REST but do not yet explicitly prove installed upgrade/reinstall/uninstall with retained operator state. That offline lifecycle proof is independently executable and must not be falsely presented as externally gated. Next selection will reassess it under the owner's186 priority after a full fresh queue. Transport/TLS stays224 and downstream composed acceptance227; no weakening or transfer to excluded issues. Review history1 is preserved across subsequent186units; no reset.
Fresh SELECT after integrated GHCR unit: complete14-open-issue queue unchanged, exact6wontfix exclusions only; owner preference186 remains applicable after183 contractresearch. Selecting remaining independently executable AC1/4 installed-lifecycle proof, not external Windows/signing/publication gates. Base develope34a8880b01695baef14579c71dd740a25c32e39, clean. Existing tools/package_check.py verifies fresh local-wheel uvtool install/help/resources/MCP/REST only; it neither replaces the installed wheel nor uninstalls while checking retained operator state, and its install_env currently copies ambient os.environ (parent has run it sanitized, but standalone tool boundary can be narrowed safely).
Bounded unit: extend SAME package-check entrypoint to replace/reinstall the current local wheel in place, recheck installed surfaces + retained synthetic user policy/store state, uninstall only the throwaway tool and verify operator state remains. Use only synthetic HOME/UVtool dirs and explicit operational env allowlist, no ambient credentials, no new dependencies/product contracts or live provider. State/retention fixtures use existing installed APIs. Do NOT fabricate old-version artifact/cross-versionupgrade proof before first release; real Windows/version-transition proof remains separately open. Tooling+focusednegative tests+existingdocs only; expected small coherent package unit, one mutator/branch/PR,120minbounded execution/recovery. Prior186 whole-PR invocation1 APPROVE remains consumed; next fresh review ordinal2/10, no count reset.
Installed-lifecycle unit integrated via PR232 at develop2002d348a8d6d5f3d1b742a93ba3adf944d4b24e (parents
e34a8880b0and reviewed67428afb55b65552678bc5f9a29f36517f4e0bd1). FreshGit verifies approvedHEAD ancestry and integrated tree9804a5f063b7b6f4ffa68e5ab918d03d8f9b25a3 exactly equals tested/reviewedHEAD. Native independent GLM-5.3 review2/10 ses_e7ce3a7aeffeME2poEXRM9MUs4 APPROVE/findings[]/UXnone; complete4-file source+installedAPI contracts checked. Required sanitized3123OK/18skips701.951s,basedpyright0/0/0,focused26,realpackagecheck install->samewheelreplace->uninstall->retainedsyntheticstate allpassed. No oldrelease/Windows/provider/publication/signing/service/globaltrust proof claimed.Current186 disposition: KEEP OPEN; owner-authorized independent GHCRimplementation (PR231) and scoped POSIXlocalwheel install/reinstall/uninstall/retention (PR232) now delivered, not fullproductacceptance. Remaining conditions are explicit by stage, not new blanket prerequisites: realWindows11 portable/tray/setup receipt (Adrian/platformoperator, acceptance, producedversionedZIP+OSrecord); signingcert+evidencedMSIXwork (Adrian releaseowner, signing/release gate, existingfailclosedseam unchanged); first realGHCR/PyPI activation/publication (releaseowner, publication, ownerchecklist+separatelyauthorizedtag+digest/version receipt); realold->newinstalled upgrade (releaseowner, acceptance after actual prior/new artifacts exist, none fabricated); cross-hostTLS/hostdiversity and composedjourneys (224/227 component/acceptance owners as applicable). These do NOT gate unrelatedeligibleSRimplementation. No further ungated186code defect/missingunit is established by this bounded work; fullfreshqueue/dependencycheck follows, not QUEUE_EMPTY or erasedremainingrequirements. Reviewhistory1/2 retained, cap10.
Owner-directed development stop — 2026-10-28. Issue #186 remains OPEN. Two independently reviewed implementation units are already integrated: PR #231 at
e34a8880b01695baef14579c71dd740a25c32e39(guarded GHCR build/publication code; review GLM-5.3 APPROVE, invocation 1/10) and PR #232 at2002d348a8d6d5f3d1b742a93ba3adf944d4b24e(same-version local-wheel reinstall/uninstall with retained synthetic state; review GLM-5.3 APPROVE, invocation 2/10). No actual workflow, Docker/registry, public upload, signing, tag, release or deployment was executed. Remaining platform/live/publication acceptance gates are not closed. Further development is paused at owner direction; no new issue/PR work will continue now.Current owner triage, 2026-11-01: P2. PR #231 (GHCR workflow code, merge
e34a8880b01695baef14579c71dd740a25c32e39) and PR #232 (same-version local installed wheel lifecycle with retained synthetic state, merge2002d348a8d6d5f3d1b742a93ba3adf944d4b24e) are integrated; do not repeat them or treat them as actual publication or cross-version proof. Router/platform owner still needs real platform, Windows/tray, upgrade and host-diversity evidence; release owner must separately authorize signing, registry/PyPI activation and publication with actual artifacts. Earliest independent work is evidence/inventory and any specifically established remaining offline platform gap, without #224/#227 as blanket implementation prerequisites. Acceptance/publication remain open; review ordinals 1–2 and the owner-directed pause remain history. No release, deployment or publication is authorized.