Update to Engineering Project OS
Snapshot Oct 1, 2026 · 06:02 UTC · version 2.2.1
Package or technical metadata updated
Package contents changed in 20 files: .codex-plugin/plugin.json, CHANGELOG.md, CONTRIBUTING.md, …. Open the file diff to inspect the edits.
Observed in package metadata. These changes alone do not establish a new customer-facing feature.
Package file
b638210097a0047b6db4d6d6d565573d69f23532e639786e242c7965aba1fdc3
ac10622ded1047e23f2b97566c855a9391507b634d8573f5d9608c4ebb30403e
Package file
4dd287b706233aae594689451b14821de18bff886a0276f27f49ef6268a1bdcb
a3dceb64ff77475e4f6836b5341cd126da45eb43dd69a96c2f8ac23d7fabe48d
Package file
12495
13206
Package file
a2b09204fa46b6e0b14e66bc14a097ad5c672a5006508adf54949deccb68d1ca
da05a671e021ee4dcd751661f0ad4b6d2e04cd5788e4fdf70baf2112c00b01f2
Compare saved observations
Download comparison JSONChanged files
skills/project-os/assets/templates/core/.agents/WORKFLOW.md →
skills/project-os/assets/templates/core/.agents/plans/README.md →
skills/project-os/evals/README.md →
skills/project-os/evals/continuity.json →
skills/project-os/evals/prepare_fixture.py →
skills/project-os/references/maintenance.md
--- before +++ after @@ -45,19 +45,19 @@ Apply the managed WORKFLOW on ordinary engineering turns without requiring a Project OS prefix. Immediately save material corrections, clarifications and new instructions in the requests registry before long work or ending the response. Preserve a short source formulation and interpretation. Route compatible same-outcome and prerequisite additions into the origin plan's contract; route independent outcomes into planned slices with their own contracts and explicit sequence. A conflict stays needs_clarification until the necessary decision arrives. Alternatives discussed during brainstorming are not automatically implementation instructions. -The index owns status and contract_path. Plan Markdown describes implementation and decisions, not a second acceptance register. The adjacent JSON contract owns gates. Requests own intake and routing. STATE links the current checkpoint. Follow the precise field definitions in the bundled plans README and public Reference. Increment contract revision on material outcome changes, record the reason and controlling request in Markdown and reassess evidence before attaching it to the new revision. +The index owns status and contract_path. Plan Markdown describes implementation and decisions, not a second acceptance register. The adjacent JSON contract owns gates. Requests own intake and routing. STATE links the current checkpoint. Read the connected WORKFLOW canonical intake and proof examples and the plans README contract template. Use literal request keys origin_plan, target_plan, relation, source_text, recorded_on, status, gate_ids and decision. Validate and repair records immediately after intake, routing, withdrawal and revision before continuing application work. Increment contract revision on material outcome changes, record the reason and controlling request in Markdown and reassess evidence before attaching it to the new revision. Before resuming any legacy_uncontracted plan, including an already active one, review a contract from current instructions and repository evidence, preview the attachment and remove its migration mark. An old closed disposition stays legacy_closed and is not newly verified. Preserve the old plan and its unverified obligations on supersession. ### Read status and complete -Run the read-only status helper before claiming that the outcome is complete: +Run the read-only status helper before each final checkpoint, readiness claim, publication recommendation or release permission request: ~~~shell -python3 /absolute/path/to/project-os/scripts/project_os.py plan status --target /path/to/repository --json +python3 /absolute/path/to/project-os/scripts/project_os.py plan status --target /path/to/repository --require-ready --json ~~~ -Use --id when no single active plan exists. Status reports gates, proof errors, scoped requests, blockers and following planned slices. It cannot independently inspect production or judge the meaning of evidence. +Use --id when no single active plan exists. Status reports READY or NOT_READY for the named outcome, gates, proof errors, scoped requests, blockers and following planned slices. --require-ready fails while any mandatory acceptance or request remains open. Lead with NOT_READY and the blockers before local successes; do not call the candidate verified or ask to publish it. Run required host scenarios on an exact isolated candidate before publication, preserving stable. A code-only scope cannot be used to imply release readiness. It cannot independently inspect production or judge the meaning of evidence. Prepare a UTF-8 checkpoint draft in a temporary file outside repository record owners. Preserve relevant verified state and report the finished outcome, its evidence and remaining independent work. The draft must declare Execution state: idle and Active plan: none on separate lines and fit the 80-line checkpoint limit. Preview closure:
Full technical diff · 34 changed fields
changed /files/.codex-plugin~1plugin.json/sha256
"b638210097a0047b6db4d6d6d565573d69f23532e639786e242c7965aba1fdc3"
"ac10622ded1047e23f2b97566c855a9391507b634d8573f5d9608c4ebb30403e"
changed /files/CHANGELOG.md/sha256
"4dd287b706233aae594689451b14821de18bff886a0276f27f49ef6268a1bdcb"
"a3dceb64ff77475e4f6836b5341cd126da45eb43dd69a96c2f8ac23d7fabe48d"
changed /files/CHANGELOG.md/size
12495
13206
changed /files/CONTRIBUTING.md/sha256
"a2b09204fa46b6e0b14e66bc14a097ad5c672a5006508adf54949deccb68d1ca"
"da05a671e021ee4dcd751661f0ad4b6d2e04cd5788e4fdf70baf2112c00b01f2"
changed /files/README.md/sha256
"76a8d8e8d43c54f449256cc5df6aa6c30fa9ac4843c8329b4df28d11fbd457c1"
"e2aac6a6cf45128656c65eb129677d0d496dbb3cbb9e155658d714b606c75151"
changed /files/SECURITY.md/sha256
"015e1a1f57439dd56a9ca24d8b77cfb3fb99528827e79a9fa23a3b1884d22a9a"
"6a495783ee32df9721e1098b1fa7c2d39bf9d0a72f1e7c333a5548ee503e17d5"
changed /files/docs~1HOW_IT_WORKS.md/sha256
"6d09395213d8c70fb6bcc60914748149e953e373a889cf338c7363dd483b273c"
"2a6ad756b78af53684706c45b5e087d3696b500a1fe70dee7c60ac7f80a9e752"
changed /files/docs~1HOW_IT_WORKS.md/size
12008
12555
changed /files/docs~1PACKAGING.md/sha256
"9b5f1e8e49f395038468e3e900af66a8ad9a2a6479cd3f0a38d435a7966ed10d"
"eb17c8a66fd19629211aef8d791562e72545aca89adebc8f85ba38432be8fe61"
changed /files/docs~1PACKAGING.md/size
8624
10173
changed /files/docs~1REFERENCE.md/sha256
"1e5df423adc182c534976979322109eb284fb5c01606ebd99590c31a1a36e162"
"90f1a19c5076eda06f966681327d4fb265c0a68198ab0882fa55818f5486aa31"
changed /files/docs~1REFERENCE.md/size
37854
38447
changed /files/docs~1SETUP.md/sha256
"4687f649071fd03166e61f3270be6de5f158daff9e483809a407b057f086dbd5"
"dc2972c71f9ff3e3ea94cb17b4fee8aab932c418cca7ee071f948c832f1c4813"
changed /files/docs~1USAGE.md/sha256
"78adb0d227c5c2570be9620369accd671584387a26b8ee1a74104da582636f2c"
"6ec3094c2ad0983ebc40e9520256100ab02725b31a90fd48e5e1c3f87273cbc7"
changed /files/docs~1USAGE.md/size
11892
12447
changed /files/plugin.json/sha256
"4ddd7707aea56f9db75884bb364a2eb3ee03b97d02384f9686d52dc20c85a676"
"a39e5e2c9b409f8b0f3ffb4f2d60f05e019699e71de2b53bec57553f4cb6a854"
changed /files/scripts~1package_plugin.py/sha256
"b57ba4a39b31b5a6ddeaba852f72f327436cefcc1c5dc39ed4cbb469917e91af"
"230b287aa5a8ceebbc116a38a0186ed23e56c88ca1d15f1c4870f48e0158a085"
changed /files/scripts~1package_plugin.py/size
9815
12927
changed /files/skills~1project-os~1SKILL.md/sha256
"3e3a1f5f6520cb9dac492318683f3b7e3d61e1992aaae10a66dbb6b0ef9d6066"
"be17df5c74064e75040ca1ae2ff8fffd74d40e6b6f632f00f5375edd276b0f5a"
changed /files/skills~1project-os~1SKILL.md/size
10690
10986
changed /files/skills~1project-os~1assets~1templates~1core~1.agents~1WORKFLOW.md/sha256
"2bb4a630199a43bd5dbec13f78be768c6af7fbfc628811fc9cf8a6bbd12819ee"
"f7f5536b20f639375e40e29036a1e238c814487f1880ac6fd4f46c0c689b733a"
changed /files/skills~1project-os~1assets~1templates~1core~1.agents~1WORKFLOW.md/size
4374
8050
changed /files/skills~1project-os~1assets~1templates~1core~1.agents~1plans~1README.md/sha256
"0619bc7d55f3be473efd4a3c691e46566f14dd10df1c99b9aeb40defd2c5a7f1"
"605c6829a0b5a2f6e76146ccfac00cc712bdca8cdf109dc6bfbcfc18c48a1e7c"
changed /files/skills~1project-os~1assets~1templates~1core~1.agents~1plans~1README.md/size
3137
3707
changed /files/skills~1project-os~1evals~1README.md/sha256
"b49c996d112eb2bbaa5c6760a2bb07167ff4b67ee16137e4d7e8f861e59d8c56"
"08e91e553ad39a7e8232d4abe1d6b04f8b3fe705294ffc58faa993192b8b60b4"
changed /files/skills~1project-os~1evals~1README.md/size
6249
6691
changed /files/skills~1project-os~1evals~1continuity.json/sha256
"aa95e2f9d92d6cfbee8fade60fbc14f8c2b21119a04ce686b48403f45eb465cb"
"422f9f58bf9fed1e4cef30530fbe8575f5608d06ba96856e2563d111e74eec9f"
changed /files/skills~1project-os~1evals~1continuity.json/size
6883
8009
changed /files/skills~1project-os~1evals~1prepare_fixture.py/sha256
"57a2bcc80c74e07598a47fc00bdaaa6ec0574af515688ac10586ea37cc5d37ad"
"cf48d253631705601cc1c982f3d343024b67da4e61ed1509eaac97f976024df1"
changed /files/skills~1project-os~1evals~1prepare_fixture.py/size
13516
14954
changed /files/skills~1project-os~1references~1maintenance.md/sha256
"a7bf0c1d23a91e5fbfec9a8fbdd79fdf50fe62f0c90753bdcd30d4108e461fc1"
"361af51bb0dc3b26998edbffd60c76d7acd2f68d43c29e09bc7296ce2b29e20d"
changed /files/skills~1project-os~1references~1maintenance.md/size
12232
12962
changed /files/skills~1project-os~1scripts~1project_os.py/sha256
"3641e1797e5617d3aa7243f265dbacab224b51ed9257ce64aae734d14bcab73f"
"261cac5822863e8d52383affb6f915a4e5b0a955a7d891d1a62cf1a994df3809"
changed /files/skills~1project-os~1scripts~1project_os.py/size
258291
258974
Full snapshot data
{
"files": {
".codex-plugin/assets/composer-icon.svg": {
"sha256": "320ef870116057315ea41f8015064f69666beb37f6a0dbbb0b46f08612976f4c",
"size": 641
},
".codex-plugin/assets/logo.svg": {
"sha256": "9e73a9b4c30c8ddf8056da1ae6258ef50a42c6a5b2b9fe9222cec613612f83cd",
"size": 643
},
".codex-plugin/plugin.json": {
"sha256": "ac10622ded1047e23f2b97566c855a9391507b634d8573f5d9608c4ebb30403e",
"size": 2530
},
"CHANGELOG.md": {
"sha256": "a3dceb64ff77475e4f6836b5341cd126da45eb43dd69a96c2f8ac23d7fabe48d",
"size": 13206
},
"CONTRIBUTING.md": {
"sha256": "da05a671e021ee4dcd751661f0ad4b6d2e04cd5788e4fdf70baf2112c00b01f2",
"size": 7734
},
"LICENSE": {
"sha256": "2b5277a87aa3ff5fa8bf0155b36a1e7f6c2c5e099123fd5666436352670b129e",
"size": 1081
},
"README.md": {
"sha256": "e2aac6a6cf45128656c65eb129677d0d496dbb3cbb9e155658d714b606c75151",
"size": 9690
},
"SECURITY.md": {
"sha256": "6a495783ee32df9721e1098b1fa7c2d39bf9d0a72f1e7c333a5548ee503e17d5",
"size": 6012
},
"assets/icon.svg": {
"sha256": "320ef870116057315ea41f8015064f69666beb37f6a0dbbb0b46f08612976f4c",
"size": 641
},
"assets/logo.svg": {
"sha256": "9e73a9b4c30c8ddf8056da1ae6258ef50a42c6a5b2b9fe9222cec613612f83cd",
"size": 643
},
"assets/social-preview.png": {
"sha256": "464a52ca13f2be4531c19db996ec0adad6080b6a04d828c7660c2e3a5c3eaf42",
"size": 48952
},
"assets/social-preview.svg": {
"sha256": "eebe9d47501e2f3a8d13213e3a5e55c77446af0c268da48cd7fe3d5d95b49c70",
"size": 2914
},
"docs/HOW_IT_WORKS.md": {
"sha256": "2a6ad756b78af53684706c45b5e087d3696b500a1fe70dee7c60ac7f80a9e752",
"size": 12555
},
"docs/PACKAGING.md": {
"sha256": "eb17c8a66fd19629211aef8d791562e72545aca89adebc8f85ba38432be8fe61",
"size": 10173
},
"docs/PRIVACY.md": {
"sha256": "8196e7a8dd005f8e63c3ae70e7c5387bb5c9e6b343a92a6edd26084927d1588f",
"size": 2389
},
"docs/REFERENCE.md": {
"sha256": "90f1a19c5076eda06f966681327d4fb265c0a68198ab0882fa55818f5486aa31",
"size": 38447
},
"docs/SETUP.md": {
"sha256": "dc2972c71f9ff3e3ea94cb17b4fee8aab932c418cca7ee071f948c832f1c4813",
"size": 6865
},
"docs/TERMS.md": {
"sha256": "d900fa8cb94916a77e646eca74db7a6d972379e1b671b4792786291f12858c4d",
"size": 1918
},
"docs/USAGE.md": {
"sha256": "6ec3094c2ad0983ebc40e9520256100ab02725b31a90fd48e5e1c3f87273cbc7",
"size": 12447
},
"plugin.json": {
"sha256": "a39e5e2c9b409f8b0f3ffb4f2d60f05e019699e71de2b53bec57553f4cb6a854",
"size": 2734
},
"scripts/package_plugin.py": {
"sha256": "230b287aa5a8ceebbc116a38a0186ed23e56c88ca1d15f1c4870f48e0158a085",
"size": 12927
},
"skills/project-os/SKILL.md": {
"sha256": "be17df5c74064e75040ca1ae2ff8fffd74d40e6b6f632f00f5375edd276b0f5a",
"size": 10986
},
"skills/project-os/agents/openai.yaml": {
"sha256": "6c2451a360c5b897d925249cd1063fcfa0ae6ce20d0c5356a9298d999e3e60e0",
"size": 375
},
"skills/project-os/assets/icon-large.svg": {
"sha256": "9e73a9b4c30c8ddf8056da1ae6258ef50a42c6a5b2b9fe9222cec613612f83cd",
"size": 643
},
"skills/project-os/assets/icon-small.svg": {
"sha256": "320ef870116057315ea41f8015064f69666beb37f6a0dbbb0b46f08612976f4c",
"size": 641
},
"skills/project-os/assets/overlays/react-native-expo.md": {
"sha256": "f3842aa1b10fabbed1651d0ef9ed857f2a6577d63f4e74fe2d97a56752bb254b",
"size": 1035
},
"skills/project-os/assets/packs/README.md": {
"sha256": "256c78e384ac70756c8192a7d1dae5449de59b86306c83bed2441a55a766cc2f",
"size": 1028
},
"skills/project-os/assets/packs/data.md": {
"sha256": "b785ef2be863917ea1b52abcb5e62d5fea29342ec3f913433b7773bfd636de02",
"size": 833
},
"skills/project-os/assets/packs/delivery.md": {
"sha256": "61e4974af6c36377f75f5d5a80a7a9c81b39b1812c56f32205d4076a89336bb6",
"size": 829
},
"skills/project-os/assets/packs/mobile.md": {
"sha256": "75653f85bcc653c6d138e1c1821e7bc768d8c85754ee1c100beb42c3c7bbc04d",
"size": 966
},
"skills/project-os/assets/packs/service.md": {
"sha256": "c9846ee0d6509812dc49b4b3d7ac7b161722f3c6fb5acbf8378daca2d5fea8d6",
"size": 797
},
"skills/project-os/assets/packs/web.md": {
"sha256": "b7c14b078bc66311f7602c93127445ea9c70eec73902c9e77f7e2e7a41ecb597",
"size": 850
},
"skills/project-os/assets/templates/core/.agents/CONTEXT.md": {
"sha256": "cac7e22dcb6bf3dd2fe32abbd6726ba3f8e96bfcd2e096ccbc5f593776b2fa02",
"size": 1096
},
"skills/project-os/assets/templates/core/.agents/README.md": {
"sha256": "cf747afe6237402ccebde9a2ec322752d6724d9e662dadb673cf3e83a2d8ad2a",
"size": 1833
},
"skills/project-os/assets/templates/core/.agents/STATE.md": {
"sha256": "deb7de342922767e6d5d9dc35545195693dbc5115d0e8c28edf5782b0b32daaf",
"size": 739
},
"skills/project-os/assets/templates/core/.agents/WORKFLOW.md": {
"sha256": "f7f5536b20f639375e40e29036a1e238c814487f1880ac6fd4f46c0c689b733a",
"size": 8050
},
"skills/project-os/assets/templates/core/.agents/evidence/README.md": {
"sha256": "6d7305c99da57a53658b2e10d3d0a01bc0b96c0452f7d139feeba42554860c09",
"size": 420
},
"skills/project-os/assets/templates/core/.agents/findings/README.md": {
"sha256": "da004b9622fd04e37b073cc744298d050fc21cfda33ee6a5826f617fc5ad47a4",
"size": 513
},
"skills/project-os/assets/templates/core/.agents/findings/findings.json": {
"sha256": "10eaf276f6fa7c4d4fcb45d0dc4d45f8a0566531d8c7c7ebbe6973534777f09a",
"size": 60
},
"skills/project-os/assets/templates/core/.agents/knowledge/README.md": {
"sha256": "982e8d55715ae97ae94de270c51ad86cdc1c4de50a25152e21673471f6e3afa2",
"size": 547
},
"skills/project-os/assets/templates/core/.agents/knowledge/project/failures.json": {
"sha256": "7ce7bfa8f4813891b7883be037071b81afa56ecef5901a8cb25c61b201f46f82",
"size": 76
},
"skills/project-os/assets/templates/core/.agents/knowledge/reusable/failures.json": {
"sha256": "406e9052d7c5782d0e70febbe2a12d5a9e72046854bdac2684c4c7909900ddc3",
"size": 43
},
"skills/project-os/assets/templates/core/.agents/plans/README.md": {
"sha256": "605c6829a0b5a2f6e76146ccfac00cc712bdca8cdf109dc6bfbcfc18c48a1e7c",
"size": 3707
},
"skills/project-os/assets/templates/core/.agents/plans/index.json": {
"sha256": "bde14cb71b0a712b1fc338ecf98432bbc4babe4e0ed8930066c6c9fc8b4144a2",
"size": 138
},
"skills/project-os/assets/templates/core/.agents/requests.json": {
"sha256": "f6942bd914e9ada67b56aaccec14d4da9e4806888f5c265cee6e6018315c8935",
"size": 60
},
"skills/project-os/assets/templates/core/AGENTS.md": {
"sha256": "0576e6320fe2f81eab635a234606c25625e5ecdfa6ae8f26b341a38c2bd8df70",
"size": 4493
},
"skills/project-os/assets/templates/program/PROGRAM.md": {
"sha256": "02ef62d5362b0362b6533bcde4ba84c3452d796667f0a63686045fe21b5b0127",
"size": 561
},
"skills/project-os/assets/templates/program/history/README.md": {
"sha256": "5545722071313de97efc9311065e2979b1bbf7e87baa177d10e3af0328c530f8",
"size": 417
},
"skills/project-os/evals/README.md": {
"sha256": "08e91e553ad39a7e8232d4abe1d6b04f8b3fe705294ffc58faa993192b8b60b4",
"size": 6691
},
"skills/project-os/evals/continuity.json": {
"sha256": "422f9f58bf9fed1e4cef30530fbe8575f5608d06ba96856e2563d111e74eec9f",
"size": 8009
},
"skills/project-os/evals/discovery.json": {
"sha256": "3ab4177f0fc993d825c4e1db814e8e71f229f2942798b8729c00b2c7ebf78652",
"size": 8010
},
"skills/project-os/evals/prepare_fixture.py": {
"sha256": "cf48d253631705601cc1c982f3d343024b67da4e61ed1509eaac97f976024df1",
"size": 14954
},
"skills/project-os/evals/prompts.json": {
"sha256": "11f8ebe82f718731e10bedbad201eaa7bd67454bd34ca103bf528cd18059817d",
"size": 11869
},
"skills/project-os/evals/submission.json": {
"sha256": "cc2285a755802641d990775f3f71ea81259f7bf7669c559fd44b62aa9ec3d98d",
"size": 13959
},
"skills/project-os/references/bootstrap.md": {
"sha256": "0c9d373b65d1580a2addee2670e81cddf280559efed12ebc98cf4d31a8a600e1",
"size": 5075
},
"skills/project-os/references/knowledge.md": {
"sha256": "dac351ed896a1ab6640bf5e27e3cc74da836a97e2174abb7397ed242fcae94ae",
"size": 7194
},
"skills/project-os/references/maintenance.md": {
"sha256": "361af51bb0dc3b26998edbffd60c76d7acd2f68d43c29e09bc7296ce2b29e20d",
"size": 12962
},
"skills/project-os/scripts/project_os.py": {
"sha256": "261cac5822863e8d52383affb6f915a4e5b0a955a7d891d1a62cf1a994df3809",
"size": 258974
}
}
}SHA-256 of public snapshot: 82edfc48a5e8c39ffd637710d222a0694aa5378800066b120ecab2958892a2d1