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>