app

Local-first trade for farms and co-ops
git clone https://radroots.dev/git/app.git
Log | Files | Refs | README | LICENSE

commit 732c95315975310b7679910e114966b62e7ef4c0
parent 5186bd45d9a368a8ae28c76d36bab45569325a26
Author: triesap <tyson@radroots.org>
Date:   Mon, 10 Aug 2026 19:29:58 +0000

release: record local workflow qualification

- identify the clean capsule commit proven by local act execution
- replace remote workflow expectations with governed machine-local evidence
- record successful source and macOS package workflow conclusions
- preserve external feed, signing, notarization, and platform limitations

Diffstat:
Mdocs/qualification/foundation-completion.md | 67++++++++++++++++++++++++++++++++++++++++---------------------------
1 file changed, 40 insertions(+), 27 deletions(-)

diff --git a/docs/qualification/foundation-completion.md b/docs/qualification/foundation-completion.md @@ -5,10 +5,11 @@ - Repository: HarvestCircle standalone capsule at the configured public origin - Branch: `dev` - Starting SHA: `1f8e5728f4815961d7dac0545c2b03464991b592` -- Qualified source SHA: `aff09a20eb5b2e6eee195c865954c2a57623f599` +- Qualified source SHA: `5186bd45d9a368a8ae28c76d36bab45569325a26` - Qualification record: the commit containing this file -- Final status: locally qualified on macOS; public CI, the NVD-backed dependency - scan, Developer ID signing, and notarization remain outstanding +- Final status: source and package workflows are locally qualified through the + consuming monorepo's governed `act` launcher on macOS; the NVD-backed + dependency scan, Developer ID signing, and notarization remain outstanding ## Commits @@ -28,6 +29,7 @@ | 12 | `0fcc40ffb626` | `architecture: record transport and tooling decisions` | Public documentation and foundation-boundary checks passed. | | QF-1 | `aff09a20eb5b` | `test: stabilize observer qualification timing` | Observer tests passed 20 consecutive runs; the full governed gate passed. | | 13 | This record | `release: qualify the corrected HarvestCircle foundation` | Complete local matrix recorded below; external gates remain explicit. | +| QF-2 | `5186bd45d9a3` | `ci: return workflow authority to local orchestration` | The capsule gate and both root-owned local `act` workflows passed. | QF-1 is a qualification-time corrective deviation between planned checkpoints 12 and 13. It changes only test timing and observer-cleanup synchronization; it @@ -37,12 +39,12 @@ does not change the public runtime contract. | Issue ID | Resolution | Tests/evidence | |---|---|---| -| HC-FC-001 | Published the bounded public specification/governance surface and thin CI wrappers. | Foundation-boundary, archive, and verification-lane tasks passed; exact-candidate public execution awaits an authorized push. | +| HC-FC-001 | Published the bounded public specification/governance surface, removed forbidden capsule workflows, and retained portable standalone verification. | Foundation-boundary, archive, standalone-lane, and root-owned local `act` source/package workflows passed. | | HC-FC-002 | Rust and Gradle now hash a shared semantic canonical form for product coordinates and provenance. | Cross-language vectors passed, including newline and field-order variants. | | HC-FC-003 | Snapshot delivery is conflated-latest, revision-aware, and gap-recovering. | Duplicate, stale, burst, gap, refresh-failure, unsubscribe, and observer-cleanup tests passed. | | HC-FC-004 | The product coordinate manifest is the sole approved-value authority. | Mutation propagation and duplicate-authority audits passed. | | HC-FC-005 | Kotlin compatibility expectations are generated into ignored build output. | Generation freshness, mismatch tests, tracked-output audit, and both binding lanes passed. | -| HC-FC-006 | This public qualification report records local results and remaining external gates. | Report boundary checks passed; exact-candidate workflow evidence remains pending. | +| HC-FC-006 | This public qualification report records local results and remaining external gates. | Report boundary checks and exact-candidate local workflow proof passed. | | HC-FC-007 | Git dependencies must be immutable revision pins. | Positive source scan and negative policy fixtures passed. | | HC-FC-008 | Build information is complete and release readiness fails closed. | Unknown, dirty, malformed, mismatched, and exact clean-provenance cases passed. | | HC-FC-009 | Application-owned scopes and clipboard resources close on normal and abrupt disposal. | Normal, abrupt, repeated, and late-callback tests passed. | @@ -97,22 +99,26 @@ does not change the public runtime contract. - Compose Multiplatform: `1.11.1` - Registry state: typed `NotApplicable` - Exact-candidate provenance: source - `aff09a20eb5b2e6eee195c865954c2a57623f599`, clean source, Radroots revision - `09065a610d95e57acdc895a14c07580fa099e7c3`, source epoch `1786387014` + `5186bd45d9a368a8ae28c76d36bab45569325a26`, clean source, Radroots revision + `09065a610d95e57acdc895a14c07580fa099e7c3`, source epoch `1786389775` - Release-ready result: passed for the exact clean candidate. Missing or malformed provenance failed closed as designed. -## Public CI - -- Source workflow: - <https://github.com/radrootslabs/%73tudio_app/actions/workflows/source.yml> -- Package workflow: - <https://github.com/radrootslabs/%73tudio_app/actions/workflows/package.yml> -- Status: pending. The qualified source commit has not been pushed in this - qualification turn, so no exact-candidate public workflow run or artifact is - claimed. -- Platform matrix: local macOS packaging passed. Linux, macOS, and Windows - public package conclusions remain pending exact-candidate workflow runs. +## Local workflow proof + +- Authority: workflow definitions are forbidden in this OSS capsule. The + consuming monorepo owns `harvestcircle-source.yml` and + `harvestcircle-package.yml` under its root `.act/workflows/**` surface. +- Launcher: the guarded root launcher requires `act 0.2.89`, rejects arbitrary + lanes, maps only the local macOS runner, derives provenance from the clean + nested Git repository, and invokes this capsule's Make targets. +- Source result: passed for `5186bd45d9a368a8ae28c76d36bab45569325a26` + through `make source-check` in approximately 90 seconds. +- Package result: passed for the same source through `make package-check` in + approximately 98 seconds and produced `HarvestCircle-1.0.0.dmg`. +- Platform scope: macOS is proven on this machine. Linux and Windows package + production require corresponding local hosts or explicitly governed local + virtualized runners; no remote workflow result is claimed. ## Commands @@ -130,6 +136,7 @@ does not change the public runtime contract. | `make package` | Pass | macOS produced and verified `HarvestCircle-1.0.0.dmg` (approximately 72 MiB). | | `make package-check` without provenance | Expected fail | Failed closed because the source commit was unknown. | | `make package-check` with exact candidate provenance | Pass | Clean source SHA, Radroots revision, and source epoch above were injected explicitly. | +| Root `cto.harvestcircle.all` | Pass | Local `act` source and package jobs both completed successfully on macOS. | | Rust format, workspace check, Clippy, and workspace tests | Pass | Exact candidate; locked workspace; all targets for Clippy; warnings denied. | | `cargo deny` source and licence checks | Pass | Revision policy and licence policy passed. | | Product, compatibility, generated-source, boundary, archive, lane, provenance, shared desktop, and desktop Gradle verification | Pass | Actual scoped Gradle tasks passed together on the exact candidate. | @@ -140,7 +147,7 @@ does not change the public runtime contract. | Isolated fresh RustSec database scan | Pass with warning | No actionable vulnerability failure; `instant 0.1.13` was reported as unmaintained through rust-nostr. | | OWASP dependency analysis | External blocker | No NVD API key was available and the feed update made no progress during the bounded run; the run was stopped without weakening policy. | -Two task names in the planning matrix were stale. Public-repository policy is +Two task names in the planning matrix were stale. Repository policy is integrated into the foundation-boundary task, and generated-source verification is scoped to the desktop project. The actual authoritative tasks were run and passed. @@ -169,22 +176,28 @@ passed. - Package readiness intentionally requires explicit source provenance. The unqualified invocation failed closed, and the exact-candidate invocation passed. +- The original remote workflow design was superseded by the repository-wide + rule that forbids `.github/**` in every OSS capsule. QF-2 removes those files + and moves orchestration to guarded root-owned local `act` workflows without + moving build behavior out of this capsule. ## Unresolved issues - Push the qualification lineage to `origin/dev` under separate authorization. -- Inspect the public source workflow for the exact pushed candidate. -- Inspect Linux, macOS, and Windows public package workflow conclusions and - record their run URLs and artifacts or exact platform/tool blockers. +- Exercise Linux and Windows package production on corresponding governed + local hosts or local virtualized runners if cross-platform package proof is + required before release. - Provide reliable NVD feed access or an API key, then rerun the OWASP-backed dependency analysis. - Provide Developer ID credentials and notarization service access before any release claim that requires signed and notarized macOS media. -- Update this evidence after the external gates complete; the documentation-only - qualification record will then require its own exact public CI conclusion. +- Update this evidence after any additional platform or external release gates + complete. ## Safe to begin next handoff -No. The corrected source foundation is locally qualified, but the required -exact-candidate public workflows and external release/security gates above are -not yet complete. This report makes no production-release claim. +Yes, for separately authorized product-shell source work. The exact source and +macOS package workflows are proven locally through the governed root `act` +launcher. This does not authorize a production release, and the external +security-feed, signing, notarization, Linux, and Windows gates above remain +explicit.