ReviewOS

stacks/drone

deps: adopt released native Stacks APIs and retire source bridges

#109
Closed chris opened this 11 days ago ·
11 days ago

Goal

Consume qualified maintained Stacks releases and retire Drone's temporary source bridges. Distribution patches and edits to installed package files are prohibited. Source contributions must be released from their owning repository before downstream publication. Refs #42 and #108.

The current bridges retain explicit provenance because the installed 0.75.221 packages lack these APIs. Source publication alone does not upgrade the application.

Scope

  • resources/functions/host/process.ts and artifacts/native-cli/process.ts: adopt the native @stacksjs/cli/process bounded-process export while preserving the application facade and caller-owned trust/path/time/output policies.
  • artifacts/native-storage/: adopt maintained completed/prepared artifact and temporary-workspace inspection exports. Preserve exclusive publication, completion identity, private paths, mount exclusion, fencing and cleanup semantics.
  • drone/http/native-realtime/: use the maintained native stream export, keeping producer credit bound to the exact view's successful local enqueue, native close cleanup and current authority. Local buffering is not remote receipt.
  • Use the native framework upgrade lifecycle and qualify the actual installed graph. Stacks PR #2980 fixes requested-version drift and verifies the installed meta-package before default synchronization. The maintained v0.75.299 release is now published; qualify the actual Drone installation before retiring bridges.

Acceptance

  • Select a source release containing the required exports, record its source/tag/release provenance and actual installed versions, and regenerate the native frozen lock without dependency patches.
  • Preserve the immutable maintained TUF archive alias/integrity, attribution and BunPress search behavior from #108. Do not replace an explicitly owned SDK with an upstream package lacking the required security extension.
  • Replace each bridge through the actual package export and remove copied code/provenance only after its behavior has been qualified. No sibling-checkout imports, generated barrel patches or package-cache edits.
  • Keep meaningful process lifetime/cleanup, actual file-write/recovery, prepared publication, mount visibility and authority/stream lifecycle regressions. Replace source-hash-only assertions with actual released-boundary behavior where appropriate; do not weaken rejection or cleanup assertions.
  • Qualify real native HTTP and copied Action/portable CLI consumers outside the checkout, including transport limits and denial of source/dependency fallback. Retain original failures and distinguish callback, host-process and physical power-loss evidence.
  • Pass relevant native lint/types/tests, docs build/search/browser checks, both independent review axes and exact final full CI. Publish to origin/main as Chris without coauthors through a normal fast-forward push.

This is release adoption, not physical commissioning. Existing inhibited outputs, independent authority, clock/security floors and unresolved hardware gates remain intact. Open Farming's separate stale vendored-default migration remains tracked in theopenfarm/openfarm.ing#37.

Maintained source release available

Stacks v0.75.299 is published from native bun run release:patch commit 4fd78e75318346f466bdb877c353096b7f75155c. Its exact source CI and releaser pass. The owning requested-version installer fix is released. This resolves source availability, not Drone's downstream acceptance.

The migration must also inventory drone/http/native-router/json.ts and its callers: this explicit old-package JSON parser bridge now has a maintained @stacksjs/router/json export. Keep duplicate-key rejection, bounded native body reads, current authorization and schema validation. Replace and qualify this bridge alongside the process/storage/realtime copies rather than leaving it behind accidentally. The existing asynchronous app completed-directory writer remains its own reviewed policy; do not casually replace its publication protocol.

Drone main cdc79dd preserves the immutable maintained TUF SDK alias and BunPress 0.2.25 without distribution patches. PR #107 is merged after all five exact-head CI jobs passed. Preserve that qualified dependency ownership during the next native upgrade.

Completed source adoption

PR #110 is merged at 06547e6f292ed7e85571d6ab94e5fc694f3bf999 through a normal fast-forward push to origin/main, authored and committed by Chris without coauthors. Actual Stacks 0.75.301 and bun-plugin-auto-imports 0.4.5 were consumed through native upgrade/update and frozen installs. The source-release guide records ownership and provenance. All six copied implementation bridges are retired. The app-owned asynchronous writer, maintained TUF 6.0.1 alias/integrity and BunPress 0.2.25 are preserved.

Both independent review axes pass 55 authored paths. Native lint, app/runtime/STX types, the 100-page docs build and search, actual browser keyboard navigation and rebuilt copied CLI campaigns pass. The Mac full Buddy suite passes 2,187 tests with 28 platform skips and zero failures across 248 files. Exact-head CI passes all five jobs; its Linux full suite passes 2,174 tests with 41 skips and zero failures, with separate native browser, firmware, filesystem-isolation and standalone CLI qualification. Original complete CI logs and local output are retained with hashes.

The earlier failed full run remains retained separately. Its near-expiry read failure remains unexplained in #60; later passing runs do not establish its cause. Physical commissioning and the wider platform roadmap remain open.

11 days ago

Native API adoption update: strict UTF-8 is the remaining process-runner delta, so the application bridge must remain until the owning package is released and qualified. stacksjs/stacks#2983 ports that option to @stacksjs/cli/process, preserves BOM/default decoding, and makes stop cleanup idempotent. Twelve real producer tests and full framework types pass; independent reviews are clean. Exact-source CI, patch publication and installed-package qualification remain pending.

The ORM source prerequisite for Farming catalog restoration is merged in stacksjs/stacks#2982. Its native patch command created v0.75.300; the remote publication pipeline is still running. No installed distributions were patched.

11 days ago

The remaining process-runner delta is now merged in Stacks PR #2983, and its source CI passes. The public ORM restoration typing/runtime repair is merged in #2982; the empty legacy SQLite pivot reconciliation and fatal migration errors are merged in #2985. Their combined current-main CI is running before the next native patch release. The earlier v0.75.300 publication failed its exact-source acceptance and is not treated as an available package.

A read-only buddy upgrade --version 0.75.299 --dry-run through the actual published Buddy 299 CLI passed against Drone main cdc79dd. Tracked manifest, lock, agent guidance and TypeScript configuration hashes are unchanged. This confirms the native bootstrap route while the required replacement release is pending; it does not qualify an upgraded application or retire a bridge. The immutable TUF archive and BunPress 0.2.25 remain app-owned.

11 days ago

Drone's native upgrade to published Stacks 0.75.301 completed. Actual installed Buddy, CLI, storage, router and realtime packages are 0.75.301; STX remains 0.2.687 and BunPress 0.2.25. Native Pantry and Bun frozen installs pass. The exact maintained TUF 6.0.1 archive URL and frozen integrity entry are unchanged.

All six temporary process/storage/router/realtime source bridges have now been replaced through public package exports. The last process copy was retired after six actual process/stream cases passed, including strict UTF-8/BOM handling, output overflow and reaping, plus the copied Action's dependency/source fallback denial and authority/close lifecycle. App typing, runtime typing and STX checking pass. Runtime typing now includes the actual generated schema and retains deliberate database-corruption rejection cases.

A new release gate is open at the owning generator: bun-plugin-auto-imports#1185. The native generated function barrel emits duplicate exports for overloads and repeated names, so a direct import fails even though the docs builder renders 100 pages. No generated barrel or installed package has been patched.

The owner source fix now has a true failing regression followed by generated runtime import, global-injection and TypeScript 7 declaration-consumer checks. Its admitted full suite passes 130 tests and 247 assertions. Source reviews caught and prompted correction of a default-export declaration gap. Final owner review, native bun run release:patch, public package qualification and downstream frozen adoption remain pending. Drone's final full suite, portable CLI campaigns, docs/browser checks, reviews and exact CI/main publication remain open.

Separately, Open Farming recovery PR #41 is merged and deployed. Main/API run private Bun 1.4.4 including children, customer data matches the immediate deployment backup, and live marketing/auth/docs checks pass. The generated background-service runtime gap has its own ts-cloud#197 and Farming#42 follow-ups. No physical commissioning is claimed.

11 days ago

The owning generator gate is resolved through a maintained release. bun-plugin-auto-imports#1186 was reviewed on both axes and merged as Chris. Native bun run release:patch created and pushed v0.4.5 at 44e816038020dd934bc2324971a91e275b936de9. Local publication returned 404 without registry credentials, so the cut was not retried. The exact release CI and tag releaser passed; the latter published the public package with provenance.

The actual public archive matches its npm SHA-512 integrity and release log. Its recorded provenance identifies the same tag/source commit. An isolated public-package preflight selected 1,791 exports and imported 1,050 runtime exports from Drone's actual function directories. Native bun update bun-plugin-auto-imports then updated the transitive frozen lock to 0.4.5 without changing the root manifest or maintained TUF alias/integrity.

Drone's actual ./buddy generate and a fresh import of its generated function barrel now pass. The native docs build renders 100 pages without the previous duplicate-export failure. Native frozen Bun/Pantry installs, Pickier (zero errors/warnings), app/runtime/view types, roadmap/parity checks and 13 camera-helper tests pass. Both independent reviews of the 46 authored adoption paths are clean.

The final full native suite is running after a fresh 16.4 GB disk admission. Copied standalone CLI campaigns, docs/browser qualification, exact final CI and main publication remain pending. #109 stays open. No generated barrel, installed package or deployed unit was patched.

11 days ago

Draft PR #110 is published at 06547e6f292ed7e85571d6ab94e5fc694f3bf999, authored and committed as Chris with no coauthors. The branch integrates current main through a normal fast-forward history; main publication remains pending qualification.

The final native Stacks 0.75.301 and generator 0.4.5 graph has both independent reviews clean across 55 authored paths. Native lint reports zero errors/warnings; app/runtime/STX types, the 100-page docs build and five docs-search cases pass. Actual browser keyboard search selects the correct generator heading under /docs; the introduction and Pi 5 guide now visibly require Bun 1.4.4.

The Bun upgrade exposed a real patrol recording rejection on 1.4.4. Its existing default-recording case failed before the owning source correction, then all 21 recording cases passed. Exact runtime equality remains enforced, with added rejection checks for other supported versions. The rebuilt copied executable records and replays a neutral 1.4.4 dataset outside the checkout and rejects a changed known-runtime identity after raw manifest hashes are updated. All eight copied update/trust/SDK/store/preparation/candidate/host-slot/maintenance campaigns pass on that rebuilt executable.

The managed dataset bound was requalified against actual Bun 1.4.4 and its pinned compression sources. All eight renderer/encoder/profile hashes and the 26,995,930-byte bound remain unchanged; exact source revision and architecture guards are retained and CI executes the proof.

The earlier local full run remains incomplete and failed: its first near-expiry lifetime read returned no view, followed later by actual ENOSPC cascades and a controlled stop. The earlier lifetime fixture database was deleted by the old test parent; its raw output remains retained. #60 is still unresolved. New source instrumentation preserves failed fixtures and records actual read/expiry operands, native settled exit/signal and watchdog facts. A real evidence-write failure reproduced an additional cleanup bug; the corrected parent retains its database and surviving evidence after the same genuinely successful child. No retention, authority or test guard was loosened.

The current full local run has passed all three actual 60-second lifetime modes and continues without a reported failure. Exact-head CI has passed workspace-browser, execution-browser, firmware and purge-namespace; the native check job is still running. This issue stays open until the final full results and main publication are complete. No physical commissioning is inferred.

Sign in to comment on this issue.