Skip to content

FyAgent v0.3.0

Choose a tag to compare

@github-actions github-actions released this 08 Aug 14:24
bde1370

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 tag v3.19.2 in an isolated two-parent
    merge. The product version remains FyAgent 0.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 run task 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 .venv and
    Python dependency lock.
  • Automatic CI and Labeler: restored automatic PR/main CI, a stable
    CI / Required aggregate, 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-fetch and its legacy
    node-fetch@2 → whatwg-url@5 → tr46@0.0.3 → punycode chain. 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 formal v0.3.0 path binds tag, product
    version, source, trusted workflow, origin/main ancestry, 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;
  • ~/.fyagent settings, 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:

  1. successful automatic CI / Required;
  2. successful unsigned five-target-group preflight that creates no Release;
  3. exact v0.3.0 tag-triggered formal workflow;
  4. stable, non-prerelease public Release with exactly 13 attachments;
  5. independent re-download and verification of names, counts, versions,
    architectures, sizes, SHA-256 values, Windows NotSigned, 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.