Devotd Github
NewCoding agents

frankie-xu/threadport — Projection Integrity and Receipt Expiry Boundary Hardening

The latest commit 981ab05 of frankie-xu/threadport refines the integrity of the projection (projection) of task state for coding agents and the expiry boundary of receipts (receipt).

Repositoryfrankie-xu/threadport ↗

The latest commit 981ab05 of frankie-xu/threadport refines the integrity of the projection (projection) of task state for coding agents and the expiry boundary of receipts (receipt).

GitHub description: Portable, verifiable work state for coding agents

stars
★ 102
Forks
2
Language
TypeScript
License
Apache-2.0
Latest release
v0.2.1
Read original source ↗View on GitHub ↗

frankie-xu/threadport is a project that stores the working state of coding agents (coding agent) so that it can be picked up and verified anywhere. The commit 981ab05 of October 24, 2026 tidied up the integrity of the process of projecting state in this project's control plane (the layer that collects and manages the state of multiple agent runs) and the lifecycle boundaries of receipts (records left behind to indicate that a work handoff has been completed). The change covers 14 files in total including source and tests, adding 225 lines and deleting 29 lines, and there are no changes to dependencies, schema, version, or release.

Looking at the contents, the fixes can be grouped into ten items. A context manifest (a list of context needed for a work handoff) is rejected when keys collide within the items and constraints sections, and the target session ID and run ID are valid only when both are present or both are absent. A receipt must be bound to the actual handoff target ID, and the search scope and the control plane share a single strict ISO timestamp schema that filters out nonexistent times. An expired receipt cannot advance to the next step, and a pending receipt only has its expiry computed and shown when read. Runtime transition stages and provenance values are validated before being handed over to finalization. In event replay (the process of re-expanding an embedded log to restore state), the first valid manifest is not replaced, and conflict warnings persist even through a subsequent update. Coverage aggregation does not turn only partially confirmed items into fully confirmed ones, and dictionaries (dict) that use prototype names as keys were cleaned up so that they do not create inherited phantom state.

That said, the evidence only goes as far as local verification. The planning document included in the commit states that, on Node 24.18.1 and macOS, npm run check passed 87 files and 578 tests, npm run test:e2e passed 11 browser flows, and npm run test:package passed a 274-file check. The same document states only that the final-head CI results for Ubuntu, macOS, and Windows and the merge SHA are scheduled to be recorded on the PR, so as of this commit, verification on the three operating systems is not confirmed. A rollback was also only planned and not actually executed. Versions and releases were left untouched, and basic repository information such as the license and the star count was not provided, so judging the actual distribution form and adoption status requires separately checking the repository description and the release history.