Recover recognizable function, procedure, class, and unit structure from
nonstandard TSF input while preserving strict parsing for compliant files.
Keep STANDARD.md limited to published format requirements and cover
recovery paths with regression tests.
Migrate reference pages to declaration-line storage and rebuild the
13-column index.
Add qualified member lookup plus regression and end-to-end coverage.
Add TSF conversion and shared Markdown recognition for mixed
function, class, and unit declarations.
Extend generation, linting, indexing, examples, and tests around
the unified declaration model.
- delete the gitea-fix-ci credential suite (13 cases covering secret
redaction, cross-origin redirect refusal and header injection); the
script keeps those behaviours but nothing guards them now
- stop pointing at the tsl-syntax lookup recall suite from data/README.md:
that suite was never committed and is now deleted, leaving --check as the
only guard for lexicon/page correspondence
- drop the -h short option and disable long-option abbreviation: `--che`
used to run `--check` and exit 0, so a misspelled argument silently
performed a different action instead of failing
- document the lexicon/page alias validation under --check, now the only
guard against a renamed page silently losing its natural language entry
- state that --query takes terms rather than the user's own words, and
describe the weak-hit marker and its rc=2 in both --query help and epilog
- keep only the options that differ from Google style, each annotated with
the Google default, so every override carries its own rationale
- switch to Allman braces and a 120 column limit; short functions now
collapse only when declared inline
- dropped overrides fall back to Google behaviour, which turns include
sorting, argument binpacking, comment reflow and namespace comment
fixing back on
- drop a stray trailing blank line in .clangd
- flag weak candidates (no intent/heading/identifier/tag hit) and exit 2
when every candidate is weak: mis-hits used to be indistinguishable
from real hits, so the retry-with-better-terms loop never fired
- accept multiple ids per --section for batch fetch, failing atomically
on any unknown id so a partial fetch cannot pass as complete
- move query synonyms and page intent aliases to data/lexicon.json and
enforce alias/page correspondence in --check; curation data no longer
lives in the engine
- document the weak-hit rule, batch fetch and prelude-once guidance in
SKILL.md, with curation discipline in data/README.md
- drop 11_pitfalls.md, renumber the trailing pages and spread retrieval
tags across topics; lexicon keys are page filenames, so the renumbering
and the new --check rule cannot land in separate commits
- add prepare.yml: install tools + maintain shared bare repo, anchors the workflow_run chain
- add checks.yml: merge lint + full test suite into a single workflow_run consumer job
- remove standards-check.yml and test.yml (superseded by checks.yml)
- convert sync-tsl-playbook and update-thirdparty-skills to worktree-model consumers
- unify workflow/job/step display names and emoji
Move runtime and document pages into their correct scope, remove obsolete pending entries, and regenerate the function index.\nUpdate agent test guidance and API skill routing to match the new reference layout.
Generate TSL API Markdown from YAML or JSON into a configurable project scope.\nAdd file and directory lint modes, tags-aware indexing, and keyword search across tags and descriptions.\nBundle the toolkit through the playbook build and sync workflows.
run_sync copied os.environ but never set REPO_DIR. In CI, test.yml
exports REPO_DIR (the real checkout) via GITHUB_ENV, so the inherited
value made the sync operate on the real CI checkout instead of the temp
fixture, deleting dirs later tests need. Pin REPO_DIR to the passed repo
and add a regression test proving an inherited REPO_DIR does not leak.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The scope regex only accepted [a-z0-9_], rejecting hyphenated scopes
like tsl-syntax that dominate the history (12x vs 4x underscore form).
Align both linter copies and the spec doc to accept lower-kebab-case.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.