Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions archive-plan-v1.1.2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"schema_version": "cd-augment-archive-plan/v1",
"product": {"name": "TestForge Codex plugin", "version": "1.1.2"},
"artifacts": [
{
"id": "plugin",
"kind": "plugin",
"source": "plugins/testforge",
"archive_name": "Plugin-TestForge-v1.1.2.zip",
"top_level": "testforge-plugin"
}
]
}
8 changes: 4 additions & 4 deletions plugins/testforge/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "testforge",
"version": "1.1.1",
"version": "1.1.2",
"description": "Risk-driven software verification and independent evidence review for coding Agents.",
"author": {
"name": "Collaborative Dynamics",
Expand Down Expand Up @@ -32,9 +32,9 @@
"Write"
],
"defaultPrompt": [
"Verify this repository before it ships: reconstruct the blast radius, rank catastrophic risks, run safe authorized checks, and issue a traceable release assessment.",
"Challenge this completed verification package for missed catastrophic risks, weak oracles, broken traceability, and unsupported confidence.",
"Turn this failing test or bug report into the smallest credible evidence set that distinguishes product, test, environment, and uncertainty failures."
"Verify this repository: map impact, rank catastrophic risks, run safe checks, and issue a traceable release assessment.",
"Challenge this verification package for catastrophic omissions, weak oracles, broken traceability, and unsupported confidence.",
"Turn this failure into evidence that distinguishes product, test, environment, and uncertainty causes."
],
"brandColor": "#48CBE8",
"composerIcon": "./assets/testforge-icon-v1.1.1.png",
Expand Down
Binary file not shown.
21 changes: 21 additions & 0 deletions release-assets/v1.1.2/archive-custody.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"schema_version": "cd-augment-archive-custody/v1",
"product": {
"name": "TestForge Codex plugin",
"version": "1.1.2"
},
"created_at": "2026-07-20T10:55:50.286746+00:00",
"artifacts": [
{
"top_level": "testforge-plugin",
"source_tree_sha256": "d2738cee88f58cc878af88ff9f7a1f211a214b3ae32e388148fd1c3cfd065003",
"archive_sha256": "ae04e5b090e48f94aa6316b38955bd82e38a75a202161db56f0d5fed539fdae7",
"bytes": 865770,
"member_count": 106,
"id": "plugin",
"kind": "plugin",
"source": "plugins/testforge",
"archive_name": "Plugin-TestForge-v1.1.2.zip"
}
]
}
25 changes: 20 additions & 5 deletions release-manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"package": "testforge-public-repository",
"version": "1.1.1",
"release_date": "2026-07-20",
"artifact_count": 418,
"artifact_count": 421,
"artifacts": [
{
"path": ".agents/plugins/marketplace.json",
Expand All @@ -30,6 +30,11 @@
"size": 1998,
"sha256": "bcdb3dc2ab15604c3ddd7e3a0cf0ca05fea994f84a862e54c13dcd87c92d316c"
},
{
"path": "archive-plan-v1.1.2.json",
"size": 330,
"sha256": "e6e252419fbd8707ed6020551c695bb30d63b15c5574a52b24e18a2c994eeaf2"
},
{
"path": "archive-plan.json",
"size": 872,
Expand Down Expand Up @@ -122,8 +127,8 @@
},
{
"path": "plugins/testforge/.codex-plugin/plugin.json",
"size": 2119,
"sha256": "94d8fd3669d657618a7e012aaee5721f6cc1bd53754b28c793df24dddf134889"
"size": 2014,
"sha256": "5130b07286a89ec9c3e837b2432a3dbb02f7ea5a9a6b5ef2715470ecd40feba8"
},
{
"path": "plugins/testforge/assets/testforge-answer-sheet-v1.1.1.svg",
Expand Down Expand Up @@ -1812,8 +1817,8 @@
},
{
"path": "tests/test_public_distribution.py",
"size": 4347,
"sha256": "9b338c1bf9ed04e9d834e1d3eca72a462a0bc91b2419b92f04be51ac8d52ef5b"
"size": 4517,
"sha256": "faa493e1c4d85e52ad4933e3c5ad28283e7c5246b77458e82f9df21251f162a4"
},
{
"path": "tools/augment-evals/.gitignore",
Expand Down Expand Up @@ -2080,11 +2085,21 @@
"size": 229,
"sha256": "53b5d5d9817d4627e84a0aec211c91904d20cd01549b6db6e7563e8958c37edd"
},
{
"path": "verification/evidence/plugin-readiness-v1.1.2.json",
"size": 229,
"sha256": "39b995b6ecde0121e3951081f45022148de456ff83467aa332b8745938e96819"
},
{
"path": "verification/release-summary-v1.1.1.json",
"size": 3821,
"sha256": "92d50fda786fe3881dc9dd9dbbfe3e7414dd5cff86f47451e0a3cb675b8a44df"
},
{
"path": "verification/release-summary-v1.1.2.json",
"size": 2310,
"sha256": "8dd00ab570d33033c2afcb4aafab6cd32b1434634b020354189a103c775f37a7"
},
{
"path": "verification/verification-report.json",
"size": 2187,
Expand Down
10 changes: 7 additions & 3 deletions tests/test_public_distribution.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
CANONICAL = ROOT / "testforge"
PLUGIN = ROOT / "plugins" / "testforge"
PLUGIN_SKILLS = PLUGIN / "skills"
VERSION = "1.1.1"
PACKAGE_VERSION = "1.1.1"
PLUGIN_VERSION = "1.1.2"


class PublicDistributionTests(unittest.TestCase):
Expand Down Expand Up @@ -39,11 +40,14 @@ def test_marketplace_and_plugin_identity_agree(self):
self.assertEqual("./plugins/testforge", entry["source"]["path"])
self.assertEqual(entry["name"], manifest["name"])
self.assertEqual("./skills/", manifest["skills"])
self.assertEqual(VERSION, manifest["version"])
self.assertEqual(PLUGIN_VERSION, manifest["version"])
package_manifest = (CANONICAL / "package-manifest.yaml").read_text(
encoding="utf-8"
)
self.assertIn(f"version: {VERSION}\n", package_manifest)
self.assertIn(f"version: {PACKAGE_VERSION}\n", package_manifest)

for prompt in manifest["interface"]["defaultPrompt"]:
self.assertLessEqual(len(prompt), 128, prompt)

for key in ("privacyPolicyURL", "termsOfServiceURL"):
self.assertTrue(manifest["interface"][key].startswith("https://"))
Expand Down
12 changes: 12 additions & 0 deletions verification/evidence/plugin-readiness-v1.1.2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"schema_version": "cd-plugin-readiness-audit/v1",
"plugin_root": "plugins/testforge",
"name": "testforge",
"version": "1.1.2",
"skill_count": 2,
"issues": [],
"summary": {
"errors": 0,
"warnings": 0
}
}
49 changes: 49 additions & 0 deletions verification/release-summary-v1.1.2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"schema_version": "cd-independent-release-review/v1",
"product": "TestForge Codex plugin",
"version": "1.1.2",
"core_augment_version": "1.1.1",
"review_date": "2026-07-20",
"scope": "Plugin-only host-compatibility patch; the TestForge Augment, both standalone skills, and both Claude archives remain byte-identical to v1.1.1",
"trigger": "A fresh Codex v0.144.5 task discovered both installed skills and opened bundled resources, but the host ignored all three plugin listing prompts because each exceeded 128 characters.",
"changes": [
"Shorten all three defaultPrompt entries to 128 characters or fewer while preserving their verification intent.",
"Separate plugin version custody from the unchanged v1.1.1 Augment version in distribution tests.",
"Add a regression assertion for the current host prompt-length limit."
],
"evidence": {
"deterministic_tests": "66 passed; 0 failed",
"plugin_audit": "verification/evidence/plugin-readiness-v1.1.2.json",
"plugin_audit_result": "2 skills; zero errors and zero warnings",
"prompt_lengths": [119, 126, 102],
"archive_custody": "release-assets/v1.1.2/archive-custody.json",
"prior_fresh_task_activation": {
"plugin_version": "1.1.1",
"software_verification_resource": "references/core/risk-based-testing.md",
"verification_reviewer_resource": "review-rubric.md",
"activation": "passed with ignored-listing-prompt warnings"
}
},
"archives": [
{
"name": "Plugin-TestForge-v1.1.2.zip",
"sha256": "ae04e5b090e48f94aa6316b38955bd82e38a75a202161db56f0d5fed539fdae7",
"bytes": 865770,
"members": 106
}
],
"unchanged_release_objects": [
"TestForge-v1.1.1.zip",
"Skill-software-verification--TestForge-v1.1.1.zip",
"Skill-verification-reviewer--TestForge-v1.1.1.zip",
"software-verification-v1.1.1.zip",
"verification-reviewer-v1.1.1.zip"
],
"material_findings": [],
"conditions": [
"Install v1.1.2 from the refreshed marketplace and repeat fresh-task skill and bundled-resource activation.",
"Official OpenAI Plugins Directory submission, approval, publication, and discoverability remain separate states."
],
"disposition": "REVIEW_PASS_WITH_CONDITIONS",
"release_decision": "READY_WITH_RESIDUAL_RISK"
}
Loading