Files
jhonny-editor/code/docs/project-context-engine.md
T
João Henrique b541f502ba feat: initial commit - Jhonny Editor
- Adicionado estrutura completa do projeto
- Configurado MCP server para Premiere Pro
- Adicionado documentação e skills
- Configurado Gitignore para o projeto
2026-09-08 09:59:31 -04:00

74 lines
4.0 KiB
Markdown
Executable File

# Project context engine
The project context engine reduces repeated clip, transcript, audio, and timeline
analysis without placing customer footage or an entire Premiere project in every
model prompt. It is an opt-in local index: no context is captured until an MCP
client calls `manage_project_context`.
## Storage and runtime compatibility
`PREMIERE_CONTEXT_BACKEND=auto` prefers Node's built-in SQLite store when the
runtime provides `node:sqlite`. Supported Node 20 environments fall back to an
atomic JSON store without adding a native package dependency. Operators can force
`sqlite`, `json`, or non-persistent `memory` behavior. `PREMIERE_CONTEXT_DIR`
overrides the OS application-data directory.
The store persists project names, hashed project/media-path identities, bounded
timeline metadata, and explicit enrichments. It does not persist native project or
media paths. Enrichment metadata keys that resemble paths, passwords, tokens,
secrets, or API keys are discarded.
## Recommended workflow
1. Call `manage_project_context` with `action: "capture"` while the intended
sequence is active. Capture is bounded to 2,000 timeline items and returns the
project, source, timeline, and combined context revisions.
2. Analyze only the required sources. Add transcript passages, shot descriptions,
audio observations, or editor notes through `action: "enrich"`. Include the
returned source revision to reject stale analysis.
For a structured, caller-approved bundle, use `action: "import_evidence"`.
It accepts transcript passages and speaker labels, shot logs, audio
observations, operator notes, and opaque frame-reference IDs. An attachment
to a source requires the exact current source revision; an attachment to a
sequence or timeline item requires the exact current timeline revision.
3. Call `search_project_context` with the current editing intent and optional
sequence/kind filters. Results contain evidence, stable Premiere identities,
source time ranges, and revision provenance.
4. Call `create_context_edit_plan` for a non-mutating candidate scaffold. Review
every candidate, capture again if the timeline changed, and resolve exact
identities before building timeline operations.
5. Use `preview_edit_plan` before `apply_edit_plan`. The context plan is evidence,
not mutation authority or proof that an editorial decision is correct.
6. Clear local project context when it is no longer required.
## Revision and invalidation model
Source and timeline state are deliberately separate:
- A source revision uses stable project-item identity plus a hashed media path and,
when the local server can stat the media, file size and modification time.
- A timeline revision covers sequence identity, timeline-item identity, source
in/out, sequence start/end, speed, media type, and track index.
- The context revision covers both revisions plus all enrichment content.
Moving or trimming a timeline item changes the timeline revision but retains
transcript, shot, and audio enrichments for unchanged source media. A changed or
relinked source invalidates enrichments tied to the prior source revision. Event
loss or an ambiguous state is recovered by capturing a fresh bounded snapshot.
## Analysis boundaries
Capture does not transcribe speech, infer speakers, detect shots, calculate
loudness, or send footage to a model. Those analyses are explicit enrichments so
operators can choose Premiere transcript export, local software, or an approved
provider. Premiere's documented transcript APIs support transcript import/export;
they do not expose a stable operation for starting Speech-to-Text.
`import_evidence` does not read the referenced frame, resolve a file path, or
call vision, ASR, LLM, Adobe, or a third-party provider. A frame reference is
restricted to an opaque identifier, and metadata resembling a path, credential,
or secret is removed before the local context index is saved.
Automated tests validate storage, privacy, invalidation, retrieval, and plan
contracts. They do not replace validation against a licensed Premiere host.