Releases
v0.1.0
Compare
Sorry, something went wrong.
No results found
[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
You can’t perform that action at this time.