Audit receipt
Every learning decision leaves proof.
- ReviewedEligible root response
- OutcomeRecord or skip
- TargetManaged lesson block
Local-first memory for GitHub Copilot in VS Code
FalkonPilot is a VS Code agent plugin that reviews eligible root responses once, keeps durable lessons, and leaves an audit trail your team can inspect.
Stop re-explaining the same team pattern. Stop losing the correction you made three sessions ago. Keep the lesson. Keep the proof. Keep it on your machine.
.github/copilot-instructions.md.github/.falkonpilot/chat.pluginLocationsAudit receipt
Managed lessons
<!-- FALKONPILOT_AUTO_MANAGED_LESSONS -->
When a pattern repeats, keep the fix once.
<!-- FALKONPILOT_AUTO_MANAGED_END -->
1.0 release path
falkonpilot-plugin/The problem
Stateless AI is useful, but it forgets the correction you taught it. That forces you to repeat the same guidance, re-apply the same pattern, and re-learn the same project reality from scratch.
Team conventions, risk boundaries, and hard-earned fixes live in your head unless you keep restating them.
The same mistake can come back next session because the previous correction never became durable guidance.
Persistence alone is not enough when you cannot inspect what the assistant learned, why it learned it, or whether that lesson should exist at all.
How it works
The point is not an endless critique loop. The point is one disciplined pass that can keep a durable lesson when the evidence supports it and stay quiet when it does not.
You keep using GitHub Copilot in VS Code. FalkonPilot does not ask you to switch to a new workflow.
FalkonPilot waits until an eligible root response finishes instead of interrupting the middle of the exchange.
If the response is reviewable, FalkonPilot can run one bounded hidden review for that output. No recursive self-review loop. No repeated passes.
Durable lessons land in the managed block, while audit artifacts under
.github/.falkonpilot/ show what was reviewed and what was decided.
Runtime footprint
.github/.falkonpilot/
├── <session-id>-audit.md
├── <session-id>-debug.md
├── <session-id>-log.md
└── settings.json
What it changes
Proof, not promises
FalkonPilot is valuable because it does not ask you to trust a black box. It leaves a readable receipt of what was reviewed, what lesson was kept or skipped, and where the durable result lives.
Inspectable by humans
When something goes right or wrong, the product leaves behind an artifact you can read, audit, and discuss with your team.
Mechanically bounded
Local-first by design
The 1.0 release uses zip install, workspace-local settings, workspace-local artifacts, and durable lessons inside your own instructions file.
What ships in 1.0
FalkonPilot installs as a local plugin from the downloaded package.
Register falkonpilot-plugin/ with chat.pluginLocations
and start using FalkonPilot.
The helper bundle includes darwin-arm64,
darwin-amd64, linux-arm64, linux-amd64, and
windows-amd64 artifacts.
Runtime controls live in .github/.falkonpilot/settings.json so the
review loop stays explicit, bounded, and inspectable.
As it happens, the maintainer dawns multiple hats and does not currently have the luxury of time. Given enough interest or time to ideate, they are certainly open to develop things further.
Quick start
{
"chat.pluginLocations": {
"/path/to/falkonpilot-plugin": true
}
}
Replace the example path with the local path to the falkonpilot-plugin/
folder from the downloaded package.
Why this is different
Useful in the moment, but the correction disappears unless you restate it next time.
Adds persistence, but it does not give you FalkonPilot's local, per-session, human-readable audit receipts.
Keeps durable lessons in your instructions, shows its work in audit artifacts, and stays bounded enough to trust in a real workspace.
FAQ
The 1.0 release is local-first. Durable lessons live in
.github/copilot-instructions.md, and runtime artifacts live under
.github/.falkonpilot/ in your workspace.
Download the zip, then register the falkonpilot-plugin/ folder with
VS Code through the chat.pluginLocations setting. The install guide on
this page walks through the exact path.
No. FalkonPilot installs from the downloaded package through a local plugin registration flow.
The helper bundle includes darwin-arm64,
darwin-amd64, linux-arm64, linux-amd64, and
windows-amd64 artifacts.
FalkonPilot settings are workspace-specific. The helper stores them in
.github/.falkonpilot/settings.json and creates or repairs that file
when FalkonPilot runs in the workspace.
Supported settings:
debug: turns debug logging on or off. Valid: true or
false.
Default: false.debug_retention_hours: deletes older debug artifacts when
debug=true. Valid:
1-168. Default: 6.
purge_tail: controls how many turns of session evidence remain after each
review. Valid:
1-10. Default: 5.
review_frequency: runs one hidden review every N eligible
turns. Valid:
1-10. Default: 2.
max_reviews_per_session: caps hidden reviews in a single session. Valid:
1-50. Default: 5.
session_log_retention_minutes: deletes older non-debug session artifacts.
Valid:
1-60. Default: 15.
The helper also writes adjacent *-help keys into
settings.json so the file documents each field inline. If a setting is
missing, has the wrong type, or falls outside the allowed range, FalkonPilot
repairs it back to a valid default.
FalkonPilot Plugin comes with 2 agents:
After submitting the first prompt in a session, you should see
.github/.falkonpilot/, and per-session artifacts such as
audit or log files. You should also see a managed FalkonPilot lesson block in
.github/copilot-instructions.md.
If the first response was not reviewed, check
.github/.falkonpilot/settings.json. The default
review_frequency is 2, so FalkonPilot reviews every
second eligible root response by default: eligible turns 2,
4, 6, and so on. Subagent runs and FalkonPilot's own
internal runs are not eligible. Also a the reviews are capped at 5 per session by default,
so if you have a long session with many eligible responses, you may hit that cap before the
first response is reviewed. We've found the first few responses useful to steer the session.
Later the session becomes more consistent as teething issues are settled.
FalkonPilot bootstraps .github/, .github/.falkonpilot/,
.github/.falkonpilot/settings.json, and
.github/.falkonpilot/.gitignore.
It can write per-session runtime files such as <session-id>-log.md,
<session-id>-audit.md, <session-id>-debug.md,
<session-id>-state.json,
<session-id>-review-request.json, and
<session-id>-learning.md when lessons are kept. It also creates or
repairs the FalkonPilot managed lesson markers in
.github/copilot-instructions.md and writes durable lessons only inside
that managed block.
Usually you should not commit per-session FalkonPilot artifacts. The
helper-generated .github/.falkonpilot/.gitignore intentionally ignores
*-log.md, *-debug.md, *-audit.md,
*-state.json, and *-review-request.json.
Workspace settings in .github/.falkonpilot/settings.json and durable
lessons in .github/copilot-instructions.md are the long-lived
surfaces. Track those only if your repository policy should share FalkonPilot
configuration and lessons across contributors.
To disable FalkonPilot, remove the falkonpilot-plugin/ entry from
chat.pluginLocations or set that path to false. To
uninstall it, remove the local plugin folder and its
chat.pluginLocations entry.
To reset the workspace state, delete .github/.falkonpilot/. If you
also want to remove durable FalkonPilot lessons, delete only the FalkonPilot
managed lesson block from .github/copilot-instructions.md.
Yes. FalkonPilot depends on the VS Code agent plugin and hooks preview surfaces, so you need a VS Code build that exposes those preview features.
FalkonPilot is not a marketplace extension install. It is a source-installed agent
plugin registered through chat.pluginLocations.
The -log.md file records session evidence for the review handoff. The
-audit.md file is the durable review receipt that says what
FalkonPilot decided and why.
The -debug.md file is a detailed hook-by-hook diagnostic log and is
only useful when debug logging is enabled. The -learning.md file is a
per-session receipt showing which lessons were actually kept after the audit
judgment was accepted.
Run falkonpilot-plugin/scripts/build_session_hook.sh on macOS or
Linux, or .\scripts\build_session_hook.ps1 on Windows.
FalkonPilot skips its hidden review when the helper is out of date because it does not trust stale helper behavior. If the automatic rebuild fails, rebuild manually, make sure the required Go toolchain or bundled Go assets are available, and then retry.
No. FalkonPilot creates .github/copilot-instructions.md only if it is
missing, ensures the FalkonPilot marker block exists, and writes durable lessons
only between the FalkonPilot managed markers.
It does not overwrite the rest of your instructions file.
That is expected. FalkonPilot automatically purges older session artifacts under
.github/.falkonpilot/ based on settings in
.github/.falkonpilot/settings.json.
By default, non-debug session artifacts older than 15 minutes are
removed, and debug artifacts older than 6 hours are removed when debug
logging is enabled. The current session is never purged.
As it happens, the maintainer dawns multiple hats and does not currently have the luxury of time. Given enough interest or time to ideate, they are certainly open to develop things further.
Ready to try it?
FalkonPilot pairs bounded review, durable local lessons, and proof you can inspect.