lookup.py: exempt code-anchored ASCII identifiers from the mixed
zh/en gate so exact hits are no longer dropped; dedup parent/child
sections in results; validate write-prelude anchors in --check.
references: correct interpreter-verified facts (case-as-expression,
control-flow semicolons, __line__/__stack_frame, tslObjects order,
destroy timing, ErrDefine, truncated outputs), fix headings, scope
qualifiers and reversed quotes; strip dead preamble metadata from all
24 pages.
packaging: exclude __pycache__/*.pyc from playbook and bundle copies;
update build test file-count assertion to match.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- inline .gitea/ci/sync_tsl_playbook.sh into sync-tsl-playbook.yml
- clone over plain repo url; credentials flow through an ephemeral
GIT_ASKPASS helper removed in cleanup
- rewrite tests to extract and exercise the workflow run block
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Limit tsl-playbook publishing to generated bundle paths so existing branch-local files are not removed.
Add tests for preserving non-generated files and for creating a clean orphan target branch.
Mirror docs/tsl/codegen into the bundled tsl-api-reference skill and rebuild the function index.
Remove invalid duplicate API entries for cb_delistedbydate, createhttpsession, exportJsonString, and Anova_Bartlett so exact lookup returns the canonical entries.
Bundle the TSL API index and markdown references under the skill, route TSL docs to use it, and update the codegen index generator to maintain the bundled data.
Move generated builtin and dotnet function docs into the upgraded taxonomy, remove legacy route pages, and regenerate function_index.tsv from markdown headings.
Group playbook.toml-driven behavior tests under a single config-actions file and split parser/template contract coverage into focused files.
Remove obsolete PowerShell audit scripts and tracked validation reports; write template validation reports under reports/templates.
Use plan-status as the only machine state source for plan queueing, claiming, and finishing.
Route record-plan through queue insertion and update templates/prompts to match the single-state model.
BREAKING CHANGE: playbook.py -record-spec and main_loop.py record are removed.
Fix incorrect test directory references throughout the repository:
- .gitea/workflows/test.yml: tests/ → test/ (5 locations)
- CONTRIBUTING.md: tests/ → test/ (7 locations)
- test/README.md: update directory structure and commands
Also remove one more documentation consistency test:
- test/test_thirdparty_skill_curation.py: checks YAML config for exact text
All 63 functional tests pass.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Update .markdownlint.json: disable MD024 (duplicate headings) and MD025 (multiple h1)
- MD024: test cases intentionally use duplicate headings for test IDs
- MD025: function catalog files use multiple h1 for different function groups
- Fix MD040: add language identifiers to fenced code blocks in test/agent/README.md
- Fix MD031: add blank lines around fenced code blocks
- Run prettier to format all Markdown files consistently
- Fix table alignment and spacing issues
All markdownlint errors are now resolved.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove "当前" from forbidden phrase list (allow technical terms like "当前单元格值")
- Remove outdated assertions about toolchain fact filling requirements in README
- Keep only meaningful assertions that match current documentation structure
These tests were preventing legitimate technical terminology and expecting
documentation patterns that are no longer applicable.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Change `cancel-in-progress` from false to true to prevent concurrent runs
when multiple triggers (push, schedule, manual) occur simultaneously.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add TSF file naming constraint to syntax/02_core_model.md
- Clarify semicolon rules: syntax facts vs style preferences
- Separate control flow end semicolon rules (syntax allows both)
- Add function body semicolon requirements to syntax/05_functions_and_calls.md
- Move style preferences to code_style.md (control flow end semicolons)
- Remove cross-references from syntax docs to maintain independence
- Enhance Gitea workflow emoji for better CI output readability
- Fix CI test path from tests/ to test/
- Organize agent test results under test/agent/result/ directory
- Add complete Chinese translation of test cases (test_cases_zh.md)
- Clean up .gitignore to use unified test/agent/result/ directory
- Remove obsolete agent test artifacts (REPORTS_LOCATION.md, old results)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rework TSL syntax, catalog, modules, and routing docs around deterministic agent lookup and generation.
Split large catalog pages into focused function fact pages, remove obsolete pending/verified/unavailable paths, and update consistency tests for the new structure.
Point codebase-migrate at the actual awesome-codex-skills master branch while keeping the whole-repo clone plus include_skill_dirs sync model.
Add a manifest assertion so the ref does not regress to main.
Validate required Plan Meta before claims, record claim ownership, and persist verification evidence on completion.
Document conditional skill triggers without adding them to automatic main-loop dispatch.
Add a Gitea CI triage skill with legacy web-log fallback, document first-party and third-party skill roles, and register selected third-party code workflow sources.
Remove the first-party bulk refactor workflow in favor of the registered codebase migration replacement.
Claim the first executable plan in plan-file order after resuming any in-progress plan, preserve skipped as its own workflow phase, and document the required post-done commit gate in the agent rules.
restore the missing typing.Optional import in scripts/playbook.py
so older python runtimes can import the CLI module successfully.
add a regression test for typing annotation imports and register it
in the tests README.
use a fresh per-job checkout directory for test, standards, and
thirdparty update workflows instead of reusing a shared repo path.
align the Gitea standards-check template with the same isolation
strategy and expand workflow bootstrap regression coverage.
remove the pre-checkout dependency on .gitea/ci/prepare_repo.sh
from the root workflows and inline the bootstrap logic instead.
add a regression test for workflow bootstrap ordering and register
it in the tests README.
upgrade commit-message, style-cleanup, and bulk-refactor-workflow
to use trigger-focused frontmatter and a shared contract structure.
add a first-party skill quality test gate and register it in tests
documentation.
move the repository skills source from `codex/skills` to `skills`.
update vendor/install_skills paths, thirdparty sync pipeline, docs, and regression tests, including deployment-route e2e coverage.
- Add CLAUDE.md and AGENT_RULES.local.md to framework templates (A class)
- Move AGENT_RULES.local.md from C class to A class (auto-created now)
- Add CLAUDE.md to deployed directory structure
- Expand config table with all actions and options
- Add CLAUDE.md auto-detection note
- Update codex/skills reference to mention thirdparty/
- Update last-modified date
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Simplify docs/ section to grouped summary with pointer to docs/index.md
- Remove outdated performance metrics table
- Use cross-platform path examples throughout
- Make AGENT_RULES tool usage section platform-agnostic
- Auto-create AGENT_RULES.local.md on sync_rules (empty template)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add claude_md option to playbook.toml.example with auto-detection docs
- Replace Windows-only C:/tools/playbook paths with /opt/playbook in README
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When CLAUDE.md lives in a subdirectory (e.g. .claude/CLAUDE.md), the
@AGENTS.md import must use ../AGENTS.md since Claude Code resolves @path
relative to the file's directory. Calculate depth automatically.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add skill_link config option to create a symlink/junction from another
platform's skills dir to agents_home/skills/ (e.g. ~/.claude -> ~/.agents)
- On Windows, falls back to directory junction when symlink requires admin
- Add _create_skills_symlink() with _is_junction() helper for Windows
- Update playbook.toml.example with skill_link documentation
- Fix templates/README.md prompt example to be platform-agnostic
- Add 3 tests: symlink creation, idempotency, absence when unconfigured
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Rename SKILLS section heading to include Claude Code
- Update agents_home comment to mention ~/.claude for Claude Code
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
When any sync action runs and the target project already has a CLAUDE.md,
automatically insert @AGENTS.md / @AGENT_RULES.md import block so
Claude Code picks up the same rules as Codex without manual setup.
- Add sync_claude_md() called at end of sync_agents_template()
- Uses <!-- playbook:claude:start/end --> block markers for idempotent updates
- Skips if no CLAUDE.md exists (Codex users unaffected)
- Skips if @AGENTS.md already present (manual setups respected)
- Add 4 tests covering: no file, append, update block, already-referenced
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Drop the vendoring-scenario fallback path from commit-message/SKILL.md.
rewrite_skill_docs_links handles path rewriting at install time, so the
source file only needs the canonical docs/common/ path.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replace duplicated inline checkout logic in standards-check.yml and
test.yml with a call to .gitea/ci/prepare_repo.sh. Also remove the
unused TEST_WORKSPACE env var from test.yml.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Extract shared repo-checkout logic into .gitea/ci/prepare_repo.sh,
removing ~47 lines of duplication from standards-check.yml and test.yml
- Remove unused TEST_WORKSPACE env var from test.yml
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Remove docs/tsl/syntax_book/ (superseded by docs/tsl/syntax/)
- Remove data/tsl_reference_catalog_source/ (catalog already generated
into docs/tsl/reference/catalog/, source no longer needed)
- Remove scripts/build_tsl_reference_catalog.ps1 (build script for
the above source)
- Remove test assertion that referenced the deleted data/ source index
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Move all third-party skills from codex/skills/ to codex/skills/thirdparty/
- Move .sources/ to codex/skills/thirdparty/.sources/
- Delete systematic-debugging/CREATION-LOG.md (internal dev note, not skill content)
- Update sync_thirdparty_skills.sh paths and conflict detection
- Update thirdparty_skills.json source_list paths
- Update install_skills_action to collect from both own and thirdparty dirs,
logging [thirdparty] tag for third-party installs
- Update SKILLS.md directory structure docs
- Update tests to reflect new paths
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>