Skip to content

Commit dc00fee

Browse files
authored
Merge pull request #7 from baskduf/codex/ledger-hardening
[codex] Harden ledger state handling
2 parents 34946d7 + 5f1ade1 commit dc00fee

16 files changed

Lines changed: 780 additions & 215 deletions

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ This project uses a lightweight changelog format:
2020

2121
### Fixed
2222

23+
- Hardened goal and findings ledgers against malformed state, concurrent findings writes, and failed forced plan replacement.
24+
- Made coverage checking tolerate source markdown that starts below an H1 heading.
25+
- Aligned release, contributor, README, and provider-bridge examples with the current package layout and verification commands.
2326
- Removed the fabricated `claude_behavior > critical_child_safety_instructions` row from the coverage matrix. The heading does not exist in the pinned upstream `CLAUDE-FABLE-5.md` (commit `dc626fed`); it was added under a stale assumption. Coverage is now an honest 71/71.
2427
- The CI workflow now fetches the pinned upstream FABLE-5 source and passes it to `fable_coverage.py --source`. Previously the validator ran with no `--source`, which made the matrix self-consistent and could not detect fabricated rows.
2528
- Added `test_coverage_matrix_validates_against_pinned_source` and `test_ci_workflow_validates_against_pinned_source` so this regression cannot recur.

CONTRIBUTING.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,22 @@ Thanks for helping improve FableCodex. This project is a Codex-native workflow p
1515
This repository intentionally uses the Python standard library for tests.
1616

1717
```bash
18-
python -m unittest discover -s tests -v
19-
python plugins/codex-fable5/skills/codex-fable5/scripts/fable_coverage.py
18+
python3 -m unittest discover -s tests -v
19+
python3 plugins/codex-fable5/skills/codex-fable5/scripts/fable_coverage.py
2020
```
2121

2222
Before opening a pull request, also run:
2323

2424
```bash
25-
python -m py_compile \
25+
python3 -m py_compile \
26+
plugins/codex-fable5/skills/codex-fable5/scripts/codex_findings.py \
2627
plugins/codex-fable5/skills/codex-fable5/scripts/codex_goals.py \
2728
plugins/codex-fable5/skills/codex-fable5/scripts/fable_coverage.py \
2829
plugins/codex-fable5/skills/codex-fable5/scripts/make_litellm_config.py \
2930
tests/test_scripts.py
31+
sh -n plugins/codex-fable5/bin/codex-fable5
32+
sh -n plugins/codex-fable5/bin/codex-findings
33+
sh -n plugins/codex-fable5/bin/codex-goals
3034
```
3135

3236
## Contribution Rules
@@ -45,4 +49,3 @@ python -m py_compile \
4549
- Any current product, model, API, or provider claim is verified against an official source.
4650
- Documentation is updated when user-facing behavior changes.
4751
- Licensing and attribution notes remain accurate.
48-

README.ja.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ codex-fable5 findings add \
169169
--title "最終検証の不足" \
170170
--severity high \
171171
--source review \
172-
--location "plugins/codex-fable5/skills/codex-fable5/scripts/codex_goals.py:180" \
172+
--location "plugins/codex-fable5/skills/codex-fable5/scripts/codex_goals.py" \
173173
--evidence "テスト実行の証拠がなくても final checkpoint が完了できる。"
174174
```
175175

README.ko.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ codex-fable5 findings add \
169169
--title "최종 검증 누락" \
170170
--severity high \
171171
--source review \
172-
--location "plugins/codex-fable5/skills/codex-fable5/scripts/codex_goals.py:180" \
172+
--location "plugins/codex-fable5/skills/codex-fable5/scripts/codex_goals.py" \
173173
--evidence "테스트 실행 증거가 없어도 final checkpoint가 완료될 수 있다."
174174
```
175175

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ codex-fable5 findings add \
169169
--title "Missing final verification" \
170170
--severity high \
171171
--source review \
172-
--location "plugins/codex-fable5/skills/codex-fable5/scripts/codex_goals.py:180" \
172+
--location "plugins/codex-fable5/skills/codex-fable5/scripts/codex_goals.py" \
173173
--evidence "Final checkpoint can complete without proof that tests ran."
174174
```
175175

README.zh-CN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ codex-fable5 findings add \
169169
--title "缺少最终验证" \
170170
--severity high \
171171
--source review \
172-
--location "plugins/codex-fable5/skills/codex-fable5/scripts/codex_goals.py:180" \
172+
--location "plugins/codex-fable5/skills/codex-fable5/scripts/codex_goals.py" \
173173
--evidence "即使没有测试运行证明,final checkpoint 也可以完成。"
174174
```
175175

README.zh-TW.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ codex-fable5 findings add \
169169
--title "缺少最終驗證" \
170170
--severity high \
171171
--source review \
172-
--location "plugins/codex-fable5/skills/codex-fable5/scripts/codex_goals.py:180" \
172+
--location "plugins/codex-fable5/skills/codex-fable5/scripts/codex_goals.py" \
173173
--evidence "即使沒有測試執行證明,final checkpoint 也可以完成。"
174174
```
175175

docs/RELEASING.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@ python3 plugins/codex-fable5/skills/codex-fable5/scripts/fable_coverage.py
2929
8. Tag the release with the plugin version, for example:
3030

3131
```bash
32-
git tag v0.3.1
33-
git push origin main --tags
32+
VERSION=$(python3 -c 'import json; print(json.load(open("plugins/codex-fable5/.codex-plugin/plugin.json"))["version"])')
33+
git tag "v${VERSION}"
34+
git push origin main "v${VERSION}"
3435
```
3536

3637
9. Create a GitHub release that summarizes user-visible changes and links to the changelog.

examples/codex-config.litellm.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
# Example only. Put provider routing in user-level ~/.codex/config.toml.
2+
# Replace placeholders with a model that official Anthropic docs and your account
3+
# currently show as available, and with the matching LiteLLM alias.
24

35
model_provider = "litellm-fable5"
4-
model = "claude-fable-5"
6+
model = "your-codex-model-alias"
57

68
[model_providers.litellm-fable5]
79
name = "LiteLLM Fable 5"

examples/litellm-fable5.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
# Example only. Replace placeholders with a model that official Anthropic docs
2+
# and your account currently show as available.
13
model_list:
2-
- model_name: "claude-fable-5"
4+
- model_name: "your-codex-model-alias"
35
litellm_params:
4-
model: "anthropic/claude-fable-5"
6+
model: "anthropic/replace-with-current-anthropic-model"
57
api_key: os.environ/ANTHROPIC_API_KEY
68

79
litellm_settings:

0 commit comments

Comments
 (0)