Repository navigation
Releases: hamanakam1/panther-intent-capture
Release list
Panther Intent Capture 1.7.0 — friction in the ticket, a replay plan, and a GitHub destination
Panther Intent Capture v1.7.0
Local-first browser intent capture with visible controls, evidence-linked
proposals, portable JSON, and opt-in verified ticket delivery.
Creates tickets; does not execute work.
What it is
Panther records what you are actually doing in the browser — the pages you
visit, the interactions you have, and what the page itself said went wrong —
and turns that into structured evidence. Everything stays on your machine:
the extension talks to a local backend, and the local backend talks to a
local model. Nothing is uploaded.
Added in 1.7.0
- Possible-friction signals in the ticket. Repeated clicks on one control,
and clicks on an element the page never marked as a control, now reach the
draft, the export and the review page — not only the live status window.
A non-control click is captured only when the element declares a role, is
focusable, or is styled as a pointer, so an ordinary click on empty space
stays out of the capture. - Replay plans. A capture can be exported as a versioned,
destination-neutral plan of the path that was taken, with the most stable
handle available for each control, the recorded failures and the friction
signals. It can be rendered as a Playwright script. Panther never runs a
plan, and a plan never carries a typed value, because Panther never
captured one. - A GitHub issues destination. A reviewed draft can be delivered to a
named repository as an issue, with its own credential, a stable identity
per draft, an independent readback, a durable receipt, and the same
preview-and-confirm contract as the local ticket service. - One destination contract. Both destinations sit behind a registry and
share the preview, confirmation, idempotency, receipt and verification
contract. A destination is chosen explicitly and its target is frozen for
the session when consent is given.
Changed in 1.7.0
- The portable intent bundle moves to schema version 1.2, adding the
optionalfrictionarray on a ticket. A consumer that only understands an
earlier version must select the schema it understands and quarantine an
unknown version, exactly as it would for any other unknown version. - The automatic-delivery policy now names its destination and moves to
policy version 2. A version 1 policy predates more than one destination
and names the local ticket service implicitly, so it keeps working.
Privacy model
- Capture only runs after an explicit, visible On.
- Off is available at every point, including during capture, generation,
delivery, status waits and startup. - A page failure is an observation of what the page said, and a friction
signal is a hypothesis about the recorded actions. Neither is ever a
verified defect, a reproduction, or permission to act. - A GitHub credential is read only by the adapter. It never appears in a
preview, a receipt, an export, a status report or a log, and a credential
readable by anyone else is ignored. - The local ticket service adapter stays loopback-only. Its host checks
are not relaxed. - No new permission, no new host permission, and no new startup behaviour.
Verification
- 251 JavaScript tests and 225 Python tests pass; the extension ZIP builds.
- A full end-to-end run against the real backend: upload, diagnostics,
friction, draft, replay plan, Playwright script, export — with the
authority flags intact. - The GitHub adapter is covered by a synthetic GitHub API: creation,
verification, reuse of an existing issue, conflict on different content, an
unverifiable readback, a refused creation, and the credential never leaving
the adapter.
Not established
- No live delivery to github.com was performed. The adapter's behaviour
is covered by a synthetic API, not by a real repository. - The GitHub review fence is text in the body plus a label. It is not a
GitHub permission.
Install
Load the unpacked extension from extension/, or see the README for the
packaged release path.
Panther Intent Capture 1.6.0 — the page's own failures, recorded locally
Panther Intent Capture v1.6.0
Local-first browser intent capture with visible controls, evidence-linked
proposals, portable JSON, and opt-in verified ticket delivery.
Creates tickets; does not execute work.
What it is
Panther records what you are actually doing in the browser — the pages you
visit, the interactions you have — and turns that into structured evidence.
Everything stays on your machine: the extension talks to a local backend, and
the local backend talks to a local model. Nothing is uploaded.
Added in 1.6.0
- Page-reported failures. Panther now also records what the page itself
said went wrong — an uncaught exception, an unhandled promise rejection, an
HTTP error response, or a subresource that failed to load — in the same
ordered timeline as your interactions. A capture of interactions alone can
only say "the person clicked Save and nothing happened next". With the
failure, a draft can name a cause instead of only a symptom. - A bounded main-world relay. An isolated content script cannot observe
the page's uncaught exceptions; only the page's own world can. Panther
installs a small relay there for the duration of the capture. It forwards a
message and a location only, holds no extension privilege, and reads no
page text, input values or typed keys. - A "Page-reported failures" section in the review UI, per-draft failure
summaries, and aGET /api/extension/recordings/<id>/diagnosticsroute. diagnosticson each exported ticket anddiagnostic_counton the
exported recording.
Changed in 1.6.0
- The portable intent bundle moves to schema version 1.1. The addition is
compatible and optional; a 1.0 consumer must select the schema it
understands and quarantine an unknown version, exactly as it would for any
other unknown version. - A failure keeps the time it actually happened, so the recorded timeline
stays truthful. Failures from before the capture began stay outside the
consented window. - A regenerated draft keeps the fields a reviewer already changed, instead of
discarding that decision.
Privacy model
- Capture only runs after an explicit, visible On.
- Off is available at every point, including during capture, generation,
delivery, status waits and startup. - A page failure is an observation of what the page said. It is never a
verified defect, a reproduction, or permission to act, and it can only ever
reach a draft. - Console output, stack traces, page text, typed values and keystrokes are
never captured, including as part of a failure. - No new permission, no new host permission, and no new startup behaviour.
The relay is installed only while a consented capture is active.
Verification
- 192 Python tests and 248 JavaScript tests pass; the extension ZIP builds.
- A real browser, a real extension, and the repository's own shipped code
unmodified: four real diagnostics were captured, including an HTTP 500
carrying the resource's own timestamp and an uncaught exception carrying its
message, script URL, line and column. The isolated-world behaviour that
motivated the relay was measured rather than assumed. - A full end-to-end run against the real backend: upload, diagnostics, draft,
export — with the authority flags intact and no secret leakage.
Install
Load the unpacked extension from extension/, or see the README for the
packaged release path.
Panther Intent Capture 1.5.0 — live action feed and opt-in local interpretation
Panther Intent Capture v1.5.0
Local-first browser intent capture with visible controls, evidence-linked
proposals, portable JSON, and opt-in verified ticket delivery.
Creates tickets; does not execute work.
What it is
Panther records what you are actually doing in the browser — the pages you
visit, the interactions you have — and turns that into structured evidence.
Everything stays on your machine: the extension talks to a local backend, and
the local backend talks to a local model. Nothing is uploaded.
Added in 1.5.0
- Live, numbered action feed and bounded rules-based interpretation in the
status window, with stated goals, last-observed freshness, and
evidence-linked possible-friction hypotheses. - Separately opted-in local AI interpretation of new observations, with
model/evidence coverage, request throttling, no remote fallback, and no
ticket or execution side effects. - Scoped cancellation and late-response fences for Off, Stop, consent
withdrawal, stale status, session changes, and hidden or closed windows.
Changed in 1.5.0
- Captured-page status excludes the live projection; only the trusted monitor
receives it. Saved results retain a bounded rules summary explicitly labeled
as history.
Privacy model
- Capture only runs after an explicit, visible On.
- Off is available at every point, including during capture, generation,
delivery, status waits and startup. - Status-window messages cannot grant capture consent, select a page, start
recording, or retry abandoned work. - The backend is opt-in and local; the extension ships no startup service and
requests no new browser permissions.
Install
Load the unpacked extension from extension/, or see the README for the
packaged release path.