Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 05 May 08:55
· 220 commits to main since this release

[0.1.0] — 2026-05-05

Bug Fixes

  • Prefer Playwright Chromium over system Chrome (corp policy)
  • PricePath accepts array for backend shape variance
  • Failures surface even in --quiet mode
  • Mcp-smoke-test points at echo fixture, uses --site flag
  • TryParseParamKV — strict numeric coercion (no leading-zero loss)
  • Pass non-string bodies through to underlying fetch
  • Scope IMPRINT_QUIET mutation to the runCron call (was leaking)
  • Correct registrable-domain extraction for multi-part TLDs
  • Replace / placeholder URLs with the real repo
  • Detect flags-as-site, MCP scope, and improve teach examples (#6)

CI/CD

  • Collapse 3 steps into bun run check (single source of truth)
  • Enforce no-circular-deps via madge in bun run check
  • Add release automation, conventional commit enforcement, and Claude skills (#3)

Documentation

  • Playbook debugging runbook
  • Refresh README to reflect auto ladder + probe cache
  • Switch all invocations to bare `imprint ` via bun link
  • Sweep stale playbook.md / _via_browser refs
  • Relocate CLAUDE.md content into docs/ + add new guides
  • Rewrite for adoption — lead with value prop + 60s quickstart
  • Tutorial-style READMEs (what / why / run / see / notes)
  • Add CHANGELOG.md (v0.1.0 + Unreleased de-slop pass)
  • Bulletproof the quickstart (README + getting-started)
  • Clarify bun link prerequisites + link CHANGELOG from README
  • Add CONTRIBUTING.md (table-stakes for adoption)
  • Add docs/security.md (credential handling, redaction guarantees)
  • Surface imprint doctor in quickstart + troubleshooting
  • Add Phase 13+ items (doctor, security, version, tests)
  • Document imprint command not found (PATH / bun-link fix)
  • Drop reference to non-existent examples/luma
  • Add doctor to verb list, reorder by lifecycle
  • Use the new bun run check shortcut
  • Catch up — multi-path notifyWhen fix, post-doctor polish
  • Link the echo example like the others
  • Add typo suggestions + capped cron log
  • Surface knip enforcement in CONTRIBUTING + CHANGELOG
  • Document the 3-tool dead-code defense in CONTRIBUTING + CHANGELOG
  • Add "Extending Imprint" — predicates, extractors, backends
  • Document --quiet for OS-scheduler integration
  • Catch up — --quiet flag, backend enum DRY, type narrowing
  • Catch up on UX polish (next-step hints, env helpers)
  • Cover workflow-placeholder + cron-expression errors
  • Add README so users know what's a smoke-test vs a scratchpad
  • Catch up — loadJsonFile, pipeline next-step hints, isDebug
  • Record availableSitesHint share + MCP version single-source
  • Module map mentions doctor / load-json / sites / version
  • Document the four common Vertex error paths
  • Record Vertex error enrichment + credential store fix
  • Add D13 (dead-code defense) + D14 (errors-over-LOC)
  • Final sync — assemble next-step, credential errors, smoke-test fix
  • Redesign for adoption and clarity (#5)
  • Document multi-provider LLM auto-detection (#9)

Features

  • CDP recorder + session writer + e2e smoke test
  • Narration UX polish + persistent-profile flag + writer tests
  • Harden recorder for one-shot booking capture
  • Credential redaction before LLM analysis
  • Generate + emit + runtime + login + LIVE D&G validated
  • Book + cancel real D&G reservation via runtime
  • Zoo pass sniper script for midnight releases
  • MCP server (stdio + HTTP) on raw @modelcontextprotocol/sdk
  • Cron polling daemon + Pushover hook
  • Add ntfy as alternative to Pushover
  • NotifyWhen — push-on-success predicate (Phase 1 of Southwest demo)
  • Walk a real recording through the pipeline + smooth all the friction
  • DOM playbook track — the second deliverable per recording
  • Defeat Akamai end-to-end with stealth — Southwest now actually works
  • Integrate stealth-fetch into a fetch → stealth-fetch → playbook ladder
  • Record-time backend probe — skip futile rungs every tick
  • Add imprint doctor — environment prereq check
  • --quiet flag for OS-scheduler-friendly silent runs
  • Add imprint teach pipeline + multi-platform integration (#4)
  • Add multi-provider LLM support with auto-detection (#7)
  • Agentic compile pipeline that reverse-engineers API responses
  • Add LLM-based request triage for playbook compilation (#8)

Miscellaneous

  • Scaffold v0.1 sprint — bun + TS strict + biome + CI
  • Pre-launch housekeeping — env-var fix, license audit, README accuracy
  • Mark cli.ts executable (bun link side effect)
  • Delete superseded MCP scratchpad scripts
  • Tighter description + convenience scripts
  • Biome auto-format follow-up to closest-verb commit
  • Biome auto-format follow-up to closestVerb test
  • Nuke all dead code (per knip) — 0 unused exports/types/files
  • Pin knip as devDep + drop now-unneeded ignore lists
  • Enable noUnusedLocals + noUnusedParameters
  • Delete stale docs/wireframe.html (pre-pivot Chrome-extension UI)
  • Drop dead test:eval script + outdated CI comment
  • Drop stray mkdirSync import in emit.test.ts
  • Delete unrelated scripts/zoo-sniper.py
  • Fix stale playbook-types.ts ref → src/imprint/types.ts
  • Regenerate index.ts so the regen hint is up to date
  • Exclude local-only .claude/ state

Performance

  • 100ms poll interval, start 10s before midnight

Refactoring

  • YAML format — drop 425 LOC of hand-rolled markdown parser
  • Extract log + json-path helpers
  • Merge notify-when into notify.ts
  • Flatten class to closure-returning function
  • Flatten BackendContext + inline dispatch
  • Unify PlaybookParameter ≡ WorkflowParameter
  • Extract requirePositional + parseParamKV helpers
  • Rename + fold for clearer boundaries
  • Merge generate + compile-playbook into one file
  • Extract resolveLadder helper
  • Comment + dead-code purge across src/
  • Single source of truth, read from package.json
  • Use createLog instead of console.log
  • Narrow runWithLadder param to ConcreteBackend
  • Single-source the backend enum (DRY ConcreteBackendSchema)
  • IsDebug() helper — fix IMPRINT_DEBUG=0 truthy bug
  • TryParseParamKV — collapse the duplicated try/catch block
  • Extract loadJsonFile() — DRY 3 verbs' file/JSON/schema pipeline
  • Extract availableSitesHint — share across cron/probe/mcp
  • Use VERSION constant — no more hard-coded "0.1.0"
  • Close() is documented no-op (was misleading)

Testing

  • Finish renamed-file edits missed in phase 3
  • Prune redundant + low-signal tests
  • Cover shrinkSession + the user-facing error paths
  • Cover resolveLadder
  • Drift-guard for VERB_HELP / dispatcher sync
  • Cover report shape, marks, version embed
  • Cover closestVerb (typo → suggestion mapping)
  • Cover generated-file shape + force/no-force semantics
  • Pin checkSession warning heuristics
  • Pin loadJsonFile error shape + schema-default behavior
  • Pin availableSitesHint branches
  • Pin the zero-requests guard

Cli

  • Inviting top-level HELP + per-verb help (imprint <verb> --help)
  • Suggest closest verb on typo (did you mean: record?)

Diag

  • Actionable next-step hints in user-facing error messages
  • List available sites when the user names a non-existent one
  • Print "next steps" after successful emit
  • Cap success-log preview at 500 chars (IMPRINT_DEBUG=1 for full)
  • Point install-broken users at the issue tracker
  • Point users at imprint doctor from the not-found error
  • Missing-arg errors point to per-verb --help
  • Actionable hints on the throws users actually hit
  • Next-step hints after redact, generate, compile-playbook
  • Point to redact as the next step after Ctrl+C
  • Suggest the echo fixture when no tools are found
  • Suggest redact as the next step when capture is clean
  • Tell users credentials auto-load — no extra wiring
  • User-friendly errors for malformed cron.json
  • User-friendly errors for missing/malformed workflow.json
  • User-friendly errors for missing/malformed session.json
  • User-friendly errors for malformed session.json
  • Explain "no meta header" — recording died too early
  • User-friendly error if credential store is corrupted
  • Map common Vertex SDK errors to actionable messages
  • Log notifyWhen decision on every tick
  • Point users to imprint check after recovery
  • Credential placeholder error matches param error style
  • Fail loud when workflow has zero requests

Emit

  • Regenerate hint uses bare imprint emit instead of bun run dev emit

Mcp

  • Include recording narration in tool descriptions