Commit Graph
62 Commits
Author SHA1 Message Date
csh 9c8d77e1c4 📝 docs(tsl-api): resolve backtesting return contract 2026-08-25 13:16:45 +08:00
csh d1568c02cd 🐛 fix(ci): restore workflow-run commit verification 2026-08-24 14:48:19 +08:00
csh fd653ff49d 🐛 fix(commit-message): isolate CI event variables in tests 2026-08-24 11:01:59 +08:00
csh 06aafc2c19 🐛 fix(ci): route scheduled thirdparty updates through prepare 2026-08-24 11:01:22 +08:00
csh b101b13bba feat(tsl-api): add parameter value domain lookup 2026-08-22 14:15:54 +08:00
csh 476f999139 📝 docs(tsl-api): add missing financial API codegen entries 2026-08-21 16:09:08 +08:00
csh 5484fc7519 ♻️ refactor(tsl-api): tighten docs and retire stale tests 2026-08-21 10:11:48 +08:00
csh cd0405d64b ♻️ refactor(tsl-api-reference): split lookup workflows and maintenance tooling 2026-08-20 17:47:48 +08:00
csh 9b95bf2682 ♻️ refactor(cook-it-through): move workflow engine into skill 2026-08-20 17:02:34 +08:00
csh f6854d065a 🔧 chore(integration): merge CI maintenance updates 2026-08-20 16:13:17 +08:00
csh 59e40a85a2 🐛 fix(tsl-syntax-reference): keep skill self-contained 2026-08-20 16:03:00 +08:00
csh 77ab8211b1 🐛 fix(gitea-fix-ci): trace workflow_run CI chains 2026-08-20 15:56:40 +08:00
csh 5a8d95ebcf 🐛 fix(tsl-syntax-reference): route derived rules and bound section size 2026-08-20 15:49:41 +08:00
cshandClaude Fable 5 7408c532f0 🐛 fix(commit-message): enforce one rule owner across skill and CI
CI ran .gitea/ci/commit_message_lint.py, an independent reimplementation
that parsed the type/emoji mapping out of docs/common/commit_message.md.
Its scope pattern accepted fix(-a), fix(a-), fix(a--b) and fix(_), and it
had no subject length check, so the gate that actually blocks merges
enforced weaker rules than the Validation this skill reports.

The CI entry is now a wrapper that locates the skill validator and
delegates to it with no arguments; commit_policy.json becomes the only
rule source and explanatory docs stop being a machine policy input.

The validator also learns the workflow_run event, whose payload carries
neither a PR title nor a before/after range. An upstream pull_request now
validates <integration-branch>..head_sha instead of HEAD alone, taking
the branch name from COMMIT_LINT_MAIN_BRANCH, and degrades to the
upstream head commit with a WARN rather than guessing a base.

Alongside: --help now documents the no-argument CI mode it had always
supported silently, CI wiring detail moves to references/ci-wiring.md,
and the description gains negative boundaries.

test/test_commit_message_policy.py asserts policy/spec-table equality and
uses ast to assert the CI entry imports no regex and reads no file, so a
second implementation cannot reappear unnoticed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-20 15:21:37 +08:00
csh 651c1f68d2 feat(tsl-api-reference): add class and framework API lookup 2026-08-20 13:49:55 +08:00
csh 5d73964db8 🐛 fix(tsl-syntax-reference): prefer ordinary quotes for plain text 2026-08-14 17:12:56 +08:00
csh 8f1056130d feat(playbook): version durable scratch workflow state 2026-08-14 17:11:54 +08:00
csh fac69aafbd 🐛 fix(workflow): manage Node versions with fnm 2026-08-13 17:33:55 +08:00
csh 8315f1060a 🐛 fix(tsl-syntax-reference): close verified syntax gaps 2026-08-13 14:49:43 +08:00
csh a0131f52c6 🐛 fix(thirdparty): align human skill registry 2026-08-12 12:40:48 +08:00
csh 91b6f8453e feat(workflow): enforce auditable agent rules 2026-08-12 12:40:31 +08:00
csh 1d9590f6a1 🐛 fix(ci): validate thirdparty skills without local sync 2026-08-12 11:39:33 +08:00
csh 2938300acb 📝 docs(tsl-syntax-reference): document external and remote calls 2026-08-10 18:22:35 +08:00
csh 699b431cac feat(workflow): adopt Matt Pocock ticket workflow
Replace the Superpowers plan pipeline with grill-with-docs, specs, local tickets, and ticket-native execution.

BREAKING CHANGE: Remove the legacy Plan CLI, prompt templates, and Superpowers skills.
2026-08-10 16:55:46 +08:00
csh 736d1a8ad7 feat(tsl-syntax-reference): harden retrieval contracts
Add stable section IDs, structural and routing regressions, quickstart consistency checks, and CI enforcement.

BREAKING CHANGE: replace heading-derived Section IDs with explicit syntax-NN-NNN identifiers.
2026-07-31 10:05:15 +08:00
csh 0dcd968188 🐛 fix(tsl-playbook): sync node formatting configs
Publish package metadata and Prettier settings through the scoped tsl-playbook bundle sync.

Force-add only managed paths so the target branch ignore rules cannot drop the lockfile.
2026-07-30 13:47:49 +08:00
csh bd25835d2d 🗑️ remove(test): drop skill regression suites
- 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
2026-07-29 15:45:49 +08:00
csh 736663a0b0 🐛 fix(thirdparty): expose main in mirror fixture 2026-07-22 17:31:55 +08:00
csh 3117ca5ae4 feat(gitea-fix-ci): add authenticated log collector 2026-07-22 17:28:22 +08:00
csh 38ea8caaeb feat(commit-message): bundle policy and validator 2026-07-22 17:26:20 +08:00
csh d83707de23 🔧 chore(workflows): migrate to prepare + worktree model and merge checks
- 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
2026-07-21 17:29:24 +08:00
csh 1f19954dd7 ♻️ refactor(tsl-api-reference): reorganize function reference pages
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.
2026-07-20 09:08:38 +08:00
csh fd63164328 🔧 chore(ci): inline skill sync and standardize git identity 2026-07-20 09:08:36 +08:00
csh ff07c79818 ♻️ refactor(test): consolidate repository checks 2026-07-20 09:08:36 +08:00
cshandClaude Fable 5 bb8bc6dff9 ♻️ refactor(tsl): decouple skill routing from static docs
删除静态文档中对 tsl-syntax-reference / tsl-api-reference 的导航路由,
改由运行时按需自动触发;语法/API 事实的所有权与 fail-closed 约束
只保留在 rulesets/tsl/index.md 这一唯一权威载体。

- docs/tsl/index.md:删 4 行 skill 路由及重复的所有权/fail-closed 段,回归纯分流
- docs/tsl/modules/index.md:删 API 路由及指向已删 syntax 的 3 处回跳
- docs/index.md:删 skill 导航行及 2 条指向不存在文件的死 catalog 链
- docs/tsl/syntax/index.md:删除旧路径兼容 stub,不再保留任何兼容
- rulesets/tsl/index.md:删首跳 2 条 skill 导航,保留事实边界与 Fail closed
- 同步修正相关测试断言

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 15:26:25 +08:00
cshandClaude Fable 5 3efd9abc11 🐛 fix(test): pin REPO_DIR in sync integration test env
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>
2026-07-13 11:23:06 +08:00
csh df8c402afb 🔧 chore(ci): scope tsl playbook sync paths 2026-07-13 10:29:23 +08:00
csh e7110bd3b1 🗑️ remove(tsl_syntax): drop platform-specific agent metadata 2026-07-13 09:17:01 +08:00
csh d663c2dae5 🐛 fix(tsl-syntax): close lookup review gaps 2026-07-13 09:17:00 +08:00
csh 455661c936 📝 docs(tsl-syntax): enforce two-stage fact ownership workflow 2026-07-13 09:17:00 +08:00
csh 4076682895 feat(tsl-syntax): improve natural language topic routing 2026-07-13 09:16:59 +08:00
csh 4a84dbae3a 🐛 fix(tsl-syntax): index precise sections and enforce map integrity 2026-07-13 09:16:59 +08:00
csh 6728ed070e ♻️ refactor(tsl-syntax): make query output compact and safe 2026-07-13 09:16:58 +08:00
cshandClaude Fable 5 b597edfc70 🐛 fix(tsl_syntax): repair lookup engine and reconcile reference facts
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>
2026-07-13 09:16:57 +08:00
csh 923bce91b0 🐛 fix(tsl-syntax): tighten lookup contracts 2026-07-13 09:16:55 +08:00
csh 9b9e0dfcb7 test(tsl_syntax): enforce lookup packaging contracts 2026-07-13 09:16:54 +08:00
csh 617275e92d 🐛 fix(tsl-syntax): remove body routing instructions 2026-07-13 09:16:53 +08:00
csh b4d2fc8246 ♻️ refactor(tsl-syntax): make reference lookup-only 2026-07-13 09:16:53 +08:00
csh 4558d32043 🐛 fix(tsl-syntax): gate lookup mode boosts 2026-07-13 09:16:52 +08:00
csh 5e31a7ccf6 feat(tsl-syntax): add section lookup core 2026-07-13 09:16:52 +08:00