FyAgent v0.3.0
FyAgent v0.3.0
Warning
FyAgent v0.3.0 is intentionally unsigned. Windows executables and MSI
packages must report Authenticode NotSigned. The macOS app is not Developer
ID signed or notarized. Windows SmartScreen and macOS Gatekeeper may therefore
warn or block the first launch. Verify the exact attachment names and evidence
described below before installing.
Important
Verification status: this document is both the frozen v0.3.0 publication
contract and the English GitHub Release body. Before installing, verify that
the Release exposes the exact 13 attachments below and validate its manifest,
metadata, and attestation evidence. Independent post-publication re-download
results are recorded in closeout evidence only after that review occurs; this
body does not itself claim that closeout verification has completed.
Highlights
- CC Switch v3.19.2 source integration: FyAgent merged the complete
upstream ancestry from annotated tagv3.19.2in an isolated two-parent
merge. The product version remains FyAgent0.3.0; it is not renamed to the
upstream version. See the
provenance ledger. - Native build boundary: retired local Linux/WSL-to-Windows and
Linux/WSL-to-macOS cross-build paths. Local development builds only the
current host. Formal Windows x64/ARM64, Linux x64/ARM64, and macOS Universal
artifacts come from their native GitHub runners without QEMU fallback. - mise + uv development environment: introduced a canonical, documented
mise runtask API; exact Node 24.19.0, pnpm 10.12.3, Rust 1.97.1, and Python
3.14.7 sources; a checksum-locked uv selector; and an uv-owned.venvand
Python dependency lock. - Automatic CI and Labeler: restored automatic PR/main CI, a stable
CI / Requiredaggregate, and a base-repository Labeler that does not check
out or execute pull-request code. Remote trigger/run evidence remains part of
the release gate. - Native Fetch and DEP0040: removed
cross-fetchand its legacy
node-fetch@2 → whatwg-url@5 → tr46@0.0.3 → punycodechain. Tests exercise
Node's native Fetch through MSW and Tauri mocks, including error, empty-body,
and cross-realm behavior, with deprecations promoted to failures. - Fail-closed release transaction: manual preflight builds and attests the
full matrix without publishing. The formalv0.3.0path binds tag, product
version, source, trusted workflow,origin/mainancestry, and same-SHA
Required CI; verifies exact artifacts and evidence; then uses a verified
draft-to-stable publication transaction.
Download and unsigned-install guidance
Windows
Choose the MSI that matches the machine architecture. The application and MSI
are intentionally unsigned, so SmartScreen may show an unknown-publisher
warning. Confirm the exact file name, download-manifest.json digest, build
metadata, and attestation evidence before continuing. Do not disable
SmartScreen or weaken organization-managed security policy.
macOS
Choose the DMG or ZIP; both contain the same Universal app. Because v0.3.0 is
not Developer ID signed or notarized, macOS may block first launch. After
attempting to open FyAgent once, use Apple's supported System Settings →
Privacy & Security → Open Anyway flow and confirm the prompt. Do not disable
Gatekeeper or strip quarantine metadata.
Linux
Choose the x86_64 or arm64 package matching the host. AppImage, DEB, and RPM are
all mandatory formal formats. Flatpak is a local diagnostic conversion and is
not a formal v0.3.0 installer.
Exact Release attachment contract
The formal Release must contain exactly these 10 installer assets:
FyAgent-0.3.0-macOS.dmg
FyAgent-0.3.0-macOS.zip
FyAgent-0.3.0-Windows.msi
FyAgent-0.3.0-Windows-arm64.msi
FyAgent-0.3.0-Linux-x86_64.AppImage
FyAgent-0.3.0-Linux-x86_64.deb
FyAgent-0.3.0-Linux-x86_64.rpm
FyAgent-0.3.0-Linux-arm64.AppImage
FyAgent-0.3.0-Linux-arm64.deb
FyAgent-0.3.0-Linux-arm64.rpm
It must also contain exactly these 3 evidence attachments:
download-manifest.json
build-metadata.json
artifact-attestation.sigstore.json
That is 13 attachments total. download-manifest.json records the SHA-256,
size, platform, architecture, format, source, tag, and final URL for every
installer. build-metadata.json binds the five native target groups to runner,
toolchain, container, workflow, source, and Required-CI evidence. The Sigstore
bundle covers the ten installers plus both JSON evidence files. There is no
fourteenth standalone checksum file; a missing, duplicate, renamed, empty, or
extra attachment fails the publication contract.
Compatibility
FyAgent v0.3.0 does not introduce a runtime API, database, or user-data
migration. The following contracts remain compatible:
- database schema 16 and
~/.fyagent/fyagent.db; ~/.fyagentsettings, skills, and automatic backup behavior;- the
fyagent://deep-link boundary and bundle identifier
com.fyagent.desktop; - existing
FYAGENT_*environment contracts and native Windows protected
installation behavior.
Back up important configuration before any application upgrade. A failed
native build, incomplete attachment set, identity/data-path drift, or missing
attestation is a release blocker rather than permission to publish a reduced
matrix.
Supply-chain model and accepted residual risk
v0.3.0 has no Windows/macOS signing credentials, notarization, staple step,
signed mode, protected Release environment, branch protection, or branch/tag
ruleset. Eligibility and least privilege are enforced by workflow code: default
read-only contents, narrowly scoped CI/Labeler/attestation/publication
permissions, full-SHA Actions, exact repository/workflow/source checks, and an
exact attachment allowlist.
This workflow-only model is intentionally weaker than administrator-enforced
rules and environment approval. That residual supply-chain risk is explicitly
accepted for v0.3.0; this project does not claim that main, the tag, or the
Release is administrator-protected. Signing or stronger repository governance
requires a separate future decision.
Verification boundary
Local contract checks prove source and workflow structure only. A conforming
Release requires all of the following real evidence from one exact main
source SHA:
- successful automatic
CI / Required; - successful unsigned five-target-group preflight that creates no Release;
- exact
v0.3.0tag-triggered formal workflow; - stable, non-prerelease public Release with exactly 13 attachments;
- independent re-download and verification of names, counts, versions,
architectures, sizes, SHA-256 values, WindowsNotSigned, macOS unsigned /
non-notarized state, and the attestation bundle.
Items 1–4 are publication gates. Item 5 is an independent post-publication
closeout check and is recorded only after it is performed. Whether this text is
read in the repository before publication or as the formal Release body, it
does not by itself prove any item above. Before installing, verify the exact 13
attachments and their evidence; do not infer that independent closeout review
has completed until the project records that result.
Source and licensing
The upstream tag object is
f6882b69f0a30968dcc6dbb1153b6b12b50e6b1a, peeled to
43eaf07355af145aebfee301801779e824d4c221; the isolated FyAgent merge commit is
f4462765e9b3a2efd1deb13aabf3ce349166a058. Upstream-derived material retains
its MIT ancestry and notices. FyAgent-owned components and modifications remain
under the repository's published PolyForm Noncommercial terms; see
LICENSE,
LICENSING.md,
and
THIRD_PARTY_NOTICES.md.