Repository navigation
conPACT 1.4.0
conPACT 1.4.0 keeps compaction summaries honest about where their rules came from, and fixes a second, unwanted compaction of an idle session.
What's new:
- Summaries keep each constraint's source. A compaction summary lists the constraints the next session should follow, but not where each one came from, so a precaution the agent chose for itself, a single permission denial or another session's request can come back as a rule that reads as yours, and every later summary copies it forward. Every compaction conPACT starts (the one the agent queues and the idle toast's) now asks the summary to list a constraint as binding only with its source, your own words and the date or the file it lives in, and to keep the agent's own precautions, denials and other sessions' requests apart as its working choices, dated, ending with their task. The queue tool now asks the agent to write its focus as facts and never to word its own choices as yours.
- A check after every compaction.
tools/compact_provenance.py, run as aSessionStarthook with the matchercompact, reads the summary just written, picks out its constraints and looks for each one in your own messages (what you typed, queued, chose in a question or refused), yourCLAUDE.mdfiles,AGENTS.md,DECISIONS.md, the project's memory and the system prompt. It tells the resumed agent which constraints it traced and where, which a source seems to contradict, which rest on a file the agent wrote itself, which came from another session, and which have no source at all, and asks for your words before an unsourced one blocks or narrows any work. It covers every compaction, whoever started it, never fails the hook, finishes in seconds even on a transcript of hundreds of megabytes, and logs each check so--reportshows the trend. Setup: the README's "Checking the summary's sources"; details: docs/agent-workflow.md.
Fixed:
- An idle session compacted since its turn end is left alone. When an agent's queued compaction ran through the Claude Code plugin, the idle watch armed at that same turn end could still offer to compact the freshly compacted session before its cache expired, and compact it again once the offer was put off. The watch now stands down once the session has been compacted since its turn end, whether by the agent, by a
/compactyou typed or automatically.
Validation: the Windows suite passes from the release's own files (2,959 passed; 7 skipped: no git checkout, or POSIX-only), as does the plugin's own suite through Claude Code's test host (128 passed), with strict plugin validation. The wheel and source archive are built from the tagged commit; the wheel was installed in a fresh environment and its command-line help checked. Linux and macOS were last run in full before 1.3.0.