Skip to content

chore(release): prepare fsq-agent 0.3.0 - #35

Merged
houlianpi merged 1 commit into
mainfrom
release/0.3.0
Oct 19, 2026
Merged

houlianpi merged 1 commit into
mainfrom
release/0.3.0

Conversation

@houlianpi

Copy link
Copy Markdown
Collaborator

Summary

Prepare the existing fsq-agent distribution for version 0.3.0. This is a three-line release-metadata update, not a new feature or a behavior-restoring bug fix. It does not claim that 0.3.0 is published.

This PR remains Draft while canonical CI, a nonpublishing Release rehearsal, and the installed-wheel static-origin supplement are verified. No merge or publication is requested at this stage.

Related issue

No issue is required: this is the explicitly requested release-version preparation under the existing distribution contract, with no behavior or public-contract change.

Design document

No separate design document is required for this documentation/repository-metadata change. The user explicitly invoked /spec-driven for the 0.3.0 release request; Tech Lead recorded a no-SPEC-delta decision before implementation. Version selection does not alter runtime behavior, public APIs, dependencies, or the release mechanism.

SPEC updates

None. Reviewed root SPEC.md and the relevant adapter, CLI, Control Plane, configuration, and frontend SPEC contracts. They establish public distribution metadata, package-owned resources, an intentionally untracked Python lock, the private frontend boundary, and the existing manual release workflow; they do not pin the current release number.

Independent bidirectional review accepted the three-line metadata change and the no-delta grounding. Required release verification and formal Code Owner approval remain separate gates.

Changes

  • pyproject.toml: change only project.version from 0.2.1 to 0.3.0.
  • tests/test_distribution_contract.py: update the existing exact-version assertion, exercised test-first.
  • CHANGELOG.md: update only the existing Unreleased preparation sentence to 0.3.0, retaining its non-publication disclaimer and all history.

No runtime, dependency, npm, SPEC, workflow, tag, or GitHub Release changes. The private frontend remains 0.1.0; uv.lock remains intentionally untracked.

Verification

Local verification on the reviewed snapshot:

  • Test-first: uv run --no-sync python -m pytest tests/test_distribution_contract.py::test_default_distribution_contract -q — expected red, actual metadata 0.2.1 versus expected 0.3.0.
  • uv run --no-sync python -m pytest tests/test_distribution_contract.py -q — 20 passed.
  • uv run --no-sync ruff check tests/test_distribution_contract.py — passed.
  • uv run --no-sync ruff format --check tests/test_distribution_contract.py — passed.
  • git diff --check — passed.
  • Exact scope/inventory review — three single-version replacements; source, SPEC, dependency and frontend boundaries unchanged.
  • Tool-generated ignored lock refresh — only the root package version changed; all 80 non-root package entries unchanged.

The first offline lock refresh failed because the newly isolated cache lacked a dependency. The failure was retained; one explicitly authorized retry using the existing uv cache succeeded without network fallback or dependency upgrades.

These checks used existing Python 3.14.7 and Ruff 0.16.1 without an environment reinstall. Existing installed editable metadata remains 0.2.1; local source checks are not proof of a fresh 0.3.0 installation.

Pending at PR creation:

  • Full canonical CI for this immutable version commit.
  • Existing Release workflow with publish=false, including Twine and three-OS no-checkout installation smoke.
  • Fresh Python 3.11 installed-wheel static-resource/origin supplement and independent evidence review.

Evidence

No screenshots or user-workspace artifacts are applicable to this metadata-only change. Local red/green, exact-diff, lock-policy and independent-review evidence is retained for the release handoff; raw logs, private paths and generated reports are not included in this PR.

F009 remains open and unwaived: the existing no-checkout smoke checks imports, scripts, presets and skills, but does not prove installed Control Plane static-resource origin. The nonpublishing Release artifact must receive a source-free supplement before independent closure.

Release or documentation impact

Future freshly built distribution metadata will report fsq-agent 0.3.0; the existing Unreleased preparation guidance agrees with that version. No publication, tag, GitHub Release, frontend-version change or installed-version CLI option is introduced.

Merge/publication remain blocked until verification, normal Code Owner approval, F009 closure, and independently confirmed PyPI environment protection/Trusted Publisher binding. No administrator bypass or release-policy change is requested.

Checklist

Spec-driven development

  • I reviewed root SPEC.md and every relevant module SPEC.md.
  • Any required design and SPEC confirmation gates occurred before implementation.
  • The implementation, tests, and documentation agree with the current confirmed SPEC files.
  • I used the current confirmed SPEC files, not the design document, as the implementation source of truth.

Quality and safety

  • I ran focused tests and required formatting or lint checks, or explained why a check was not applicable.
  • I updated user-facing documentation when behavior or setup changed, or it is not applicable.
  • I did not commit credentials, tokens, account data, personal data, local .env files, generated logs, reports, screenshots, or workspace output.
  • I reviewed any included screenshots, videos, logs, reports, and Run artifacts for secrets, private paths, device identifiers, and account data.
  • I did not add large binary media to Git history unless the repository already owns that exact artifact and the size is justified.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@houlianpi
houlianpi marked this pull request as ready for review October 19, 2026 10:50
@houlianpi
houlianpi merged commit b96ba3a into main Oct 19, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant