Skip to content

Release v0.3.0: visible invariance and install/release hardening - #101

Merged
cursor[bot] merged 2 commits into
mainfrom
cursor/p0-install-release-hardening-2d93
Aug 26, 2026
Merged

cursor[bot] merged 2 commits into
mainfrom
cursor/p0-install-release-hardening-2d93

Conversation

@byte271

@byte271 byte271 commented Aug 26, 2026 •

Copy link
Copy Markdown
Owner

This is FuckMark v0.3.0. The public CLI stays identity: empty release_transform_registry(), process_text("I do not agree.") unchanged, RELEASE_CLI_ALGORITHM_VERSION remains release-cli-v4. No carrier is product-authorized.

The historical v0.2.0 GitHub tag still applies contractions. Do not treat that tag as this product contract.

After merge: do not tag a pull-request SHA if main is a squash merge. Tag the resulting main commit v0.3.0, then workflow_dispatch with publish_github_release=true. This PR itself never creates tags.

Install (F-01, F-02, F-13, F-14)

  • Docs and README install from the tagged GitHub Release wheel and SHA256SUMS.txt (v0.3.0 after that release is published).
  • New in-repo installers tools/install/unix.sh and tools/install/windows.ps1 verify that checksum, do not use sudo/winget, do not pull main.zip, do not --force-reinstall, do not create 255 case-symlinks, and do not start the CLI.
  • d.q1z.org/mark is documented as not the source of truth. That host is not in this repository (F-06), so the live one-click endpoint stays dangerous until it is redeployed from these scripts.

Release (F-03, F-22)

  • Package identity is 0.3.0 / v0.3.0.
  • Release Engineering no longer auto-tags, auto-publishes, or deletes merged PR branches on main push.
  • Publishing is workflow_dispatch with publish_github_release=true only, against an existing v<pyproject version> tag that already points at the dispatch SHA.
  • Checkout uses persist-credentials: false. The job never runs git tag.

Workflows (F-05)

  • workflow_dispatch values go through env: and "$INPUT_*" instead of ${{ inputs.* }} inside run: scripts.

CLI / contract / research APIs

  • Interactive clipboard copy requires --copy (F-17). Without it, interactive mode prints the result.
  • load_product_contract() requires frozen hash 5afd79586f82e31d0d673acbebebf0ac00804cff74b9f644f000bddfd3dc07d1 even when specs/ is absent from a wheel (F-08).
  • source_verified_release_transform_registry keeps verified visible-preserving rules instead of dropping them (F-09). Visible lexical promotions still fail closed.
  • BayesianDetectorEvidence.confirmatory_score() refuses UNVERIFIED status (F-07). Frozen v1 evidence still stores raw_score with UNVERIFIED compatibility.
  • load_bayesian_checkpoint rejects JSON larger than 64 MiB (F-18).
  • Tracked spec.md is no longer listed in .gitignore (F-20). Root SHA256SUMS.txt remains spec-only.

Intentionally not in this PR

  • F-04 / F-12 product decisions (empty CLI, ASCII domain fail-closed identity).
  • F-06 website rebuild (mark.q1z.org is a different repo).
  • F-10 transformers pin, F-11 YAML confirmatory loader, F-15/F-16/F-19/F-21/F-23–F-26.
Open in Web Open in Cursor 

Replace live-main zip installers with tagged GitHub Release wheels
plus SHA256SUMS verification. Stop auto-tagging, auto-publishing, and
merged-branch deletion. Pass workflow_dispatch values through env.
Interactive CLI copies only with --copy. Pin the product-contract
hash, keep verified release-registry rules, refuse UNVERIFIED Bayesian
confirmatory scores, and cap Bayesian checkpoint JSON size.

Co-authored-by: Byte271 <byte271@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: efb845eb-908a-4a34-bcb9-210b6b0e0b59


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Keep the public CLI on release-cli-v4 identity behavior and stop sharing
the v0.2.0 contraction tag. Install docs and in-repo installers target
the v0.3.0 GitHub Release wheel after that tag is published.

Co-authored-by: Byte271 <byte271@users.noreply.github.com>
@cursor cursor Bot changed the title Harden official install, release publication, and workflow inputs Release v0.3.0: visible invariance and install/release hardening Aug 26, 2026
@byte271
byte271 marked this pull request as ready for review August 26, 2026 22:48

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d8910e6c41

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread tools/install/unix.sh

ensure_path() {
shell_name="$(basename "${SHELL:-sh}")"
line='export PATH="$HOME/.local/bin:$PATH"'

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Add the configured binary directory to PATH

When FUCKMARK_BIN overrides the default, the launcher is written to that custom directory, but ensure_path still adds only $HOME/.local/bin (and the fish branch has the same hard-coded path). On a machine where the custom directory is not already in PATH, the installer reports success yet fuckmark --help remains unavailable in a new shell; generate the shell entry from BIN or avoid claiming that the override is supported.

Useful? React with 👍 / 👎.

@cursor
cursor Bot merged commit d8910e6 into main Aug 26, 2026
37 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.

2 participants