Skip to content

Launch kit: audit --share, tests, CI, examples, multi-channel copy - #1

Merged
iamitp merged 6 commits into
mainfrom
claude/check-vera-status-TUqaU
Apr 17, 2026
Merged

iamitp merged 6 commits into
mainfrom
claude/check-vera-status-TUqaU

Conversation

@iamitp

@iamitp iamitp commented Apr 17, 2026

Copy link
Copy Markdown
Owner

Folds the full launch kit onto main so visitors landing on the repo see the pre-launch state (CI green, examples, clearer README) instead of the bare v0.1.0 README.

What's in the branch

Code / tooling

  • vera audit --share flag + build_share_snippet() — writes a sibling .share.md snippet with timestamp/path stripped and a Vera attribution footer. This is the distribution loop: screenshot → post.
  • tests/ — 21 pytest tests covering provenance, rule enforcement, audit share-snippet, and VERA-CAPTURE parsing. All green locally.
  • .github/workflows/ci.yml — matrix tests on Python 3.10 / 3.11 / 3.12 plus a build + twine check job.
  • CI / PyPI / MIT badges in README.md.

Docs / demo

  • examples/transcript.md + audit.md + audit.share.md — a realistic chat about a Rust rewrite with a planted sycophancy trap, the auditor's findings, and the --share output. The .share.md is generated by the code, not hand-authored.
  • README.md — above-the-fold demo block; examples/ link replaces the ASCII placeholder.
  • CHANGELOG.md — Keep-a-Changelog format.

Launch kit

  • launch/POSTS.md — HN title + author reply, X main post + 4-reply thread, r/LocalLLaMA, r/ClaudeAI, r/OpenAI posts, DM template, audit-screenshot recipe, tracking bookmarks.
  • launch/BACKUP-CHANNELS.md — Lobsters, dev.to draft, LinkedIn, Mastodon/Bluesky, newsletter pitches (TLDR AI / Pointer / Hacker Newsletter / Ben's Bites), 90-second demo script, podcast targets, SEO moves.
  • launch/ship.sh — interactive gate: build → PyPI upload → smoke-test → README patch.

Blocked items (need you, not code)

  • PyPI upload — needs your token + 2FA.
  • HN / X / Reddit posts — need your accounts (and can't be automated without ToS risk).
  • Audit screenshot — needs a live API-key chat session.

Test plan

  • pytest -q — 21/21 pass locally
  • python3 -m build && python3 -m twine check dist/* — PASSED on wheel + sdist
  • CI runs green on this PR (will appear after merge permission / branch protection check)
  • Smoke test pipx install vera-ai after PyPI upload (post-merge step)

https://claude.ai/code/session_01DMCSCaVAsCLVXFswHeQ7cx

claude added 6 commits April 17, 2026 08:07
- audit.py: `build_share_snippet()` strips header + local paths and appends
  a Vera attribution footer; produces a sibling `.share.md` file.
- cli.py: `vera audit --share` writes the share file and prints the snippet
  for immediate copy-paste to HN / X / Reddit.
- README.md: above-the-fold text demo so visitors see the loop without
  installing; `vera audit --share` documented in the four-command shape.

Context: the audit output is the distribution loop. Screenshots of
"Vera caught me agreeing with myself" are the organic marketing. Making
them one flag away removes the friction.

https://claude.ai/code/session_01DMCSCaVAsCLVXFswHeQ7cx
Pre-staged every copy-paste artifact for the launch flow so the 45-min
playbook collapses to ~15 min of clicks:

- POSTS.md: PyPI token + upload + smoke-test instructions; Show HN title
  / URL / first author reply; X main post + four thread replies;
  r/LocalLLaMA, r/ClaudeAI, r/OpenAI post copy; DM template;
  audit-screenshot generation recipe; daily-tracking bookmarks.
- ship.sh: interactive gate that runs build + twine-check, prompts for
  upload, smoke-tests, patches README/LAUNCH.md to drop git+https and
  reference vera-ai, commits the patch, and points at POSTS.md for each
  post. Each step waits on ENTER so nothing moves without human confirm.

Rationale: the audit screenshot is the distribution loop, HN + X
simultaneous hits the algorithm sweet spot, and the launch copy is
finalised so timing is the only remaining variable.

https://claude.ai/code/session_01DMCSCaVAsCLVXFswHeQ7cx
- tests/: 21 tests covering provenance log_write (append/truncate/parent-
  dir/kinds), rule ensure+check (file creation, banned phrases, em dash,
  case insensitivity, absence of rule), audit build_share_snippet (header
  strip, sibling file, attribution footer, missing-header tolerance), and
  cli.parse_captures (none/single/multiple/malformed/no-marker).
- pyproject.toml: optional-dependencies.dev = ["pytest>=8.0"].
- .github/workflows/ci.yml: pytest across Python 3.10/3.11/3.12 plus a
  build + twine-check job on 3.12. Triggers on push to main and all PRs.

Rationale: no-tests is the first thing any HN commenter checks. A green
CI badge on first page-1 load converts skeptics.

https://claude.ai/code/session_01DMCSCaVAsCLVXFswHeQ7cx
- examples/transcript.md: realistic chat about a Rust rewrite decision
  with a planted sycophancy trap ("good idea?"), a leading numeric claim,
  and a ship-without-tests ask.
- examples/audit.md: what the auditor flags — three unsourced quantitative
  claims, a provenance-tag gap, and a payments-specific gotcha the user
  missed. Clean on sycophancy.
- examples/audit.share.md: produced directly by build_share_snippet() — not
  hand-authored. Regenerate with: python3 -c "from vera.audit import
  build_share_snippet; build_share_snippet(Path('examples/audit.md'))"
- README: link to examples/ replaces the ASCII placeholder audit block.
  Adds CI, PyPI version, and MIT badges up top.

Rationale: visitors without an API key can now evaluate the output
quality before installing. The .share.md is authored by the code, which
means it also doubles as a regression check.

https://claude.ai/code/session_01DMCSCaVAsCLVXFswHeQ7cx
- launch/BACKUP-CHANNELS.md: Lobsters, dev.to draft, LinkedIn, Mastodon/
  Bluesky, newsletter pitches (TLDR AI, Pointer, Hacker Newsletter, Ben's
  Bites), 90-second demo-video script, podcast targets, and evergreen SEO
  moves (Product Hunt, awesome-lists, own-domain blog). Cascade over days
  2–7 rather than dumping on day 1.
- launch/POSTS.md: link to the backup channels so the main playbook stays
  focused on launch day.
- CHANGELOG.md: 0.1.0 + unreleased sections following Keep a Changelog.

Rationale: single-channel launch is brittle. If HN doesn't land, the
cascade keeps momentum through week one; if HN does land, these are
amplifiers on day 2.

https://claude.ai/code/session_01DMCSCaVAsCLVXFswHeQ7cx
Main pivoted from CLI-first to paste-in-prompt-first ("AI with clerk
discipline", three disciplines, zero install). Launch copy in POSTS.md
and BACKUP-CHANNELS.md was still anchored on the old "AI memory CLI"
positioning. Updated:

- HN title: "paste-in prompt that makes any AI tag its guesses"
- HN author comment: leads with paste-in, CLI as upgrade path
- X thread: three disciplines, not four primitives
- Reddit posts: no-install angle first, CLI for power users
- DM template: paste-in framing
- dev.to draft skeleton: rewritten for the prompt-first narrative
- LinkedIn: rewritten for paste-in

Resolved rebase conflicts:
- cli.py: kept _llm_chat rename from main + added build_share_snippet import
- README.md: kept main's clerk-discipline structure, grafted badges +
  examples link + vera audit --share in CLI section

https://claude.ai/code/session_01DMCSCaVAsCLVXFswHeQ7cx
@iamitp
iamitp force-pushed the claude/check-vera-status-TUqaU branch from d62ffc5 to 1e3a18f Compare April 17, 2026 08:11
@iamitp
iamitp merged commit 31efb36 into main Apr 17, 2026
4 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