Commit Graph
98 Commits
Author SHA1 Message Date
csh 5484fc7519 ♻️ refactor(tsl-api): tighten docs and retire stale tests 2026-08-21 10:11:48 +08:00
cshandClaude Fable 5 2e8c46e152 📝 docs(tsl-syntax-reference): document verified facts from FAQ corpus
从 FAQ 语料(2018 篇镜像)与参考页做完 169 条逐条差集,补入 6 组此前未收录的语言
事实。每条先用 TSL.exe 实跑观察行为,再收敛成 39 条断言的回归门,在 TSLGen2、
AnalyseNG.NET、TSL 三个解释器上均通过后才写入。

- 16 页:0/0 得 nan、2/0 得 inf;nan 的 = > < >= <= 恒假而 <> 为真;nan 沿算术
  传播;nil 在乘除减里按 0 参与
- 04 页:整体赋值免声明,但对未建立的变量写单元格赋值会报「变量类型不是Array」
- 07 页:相邻两个 if 是两条独立语句都会执行;for..in 单控制变量拿到的是键不是值;
  二维数组按行推进,行本身是数组(新增 syntax-07-013)
- 21 页:子矩阵赋值语句求值为 0;t[:,:] 按位置复制不按列名对齐(新增
  syntax-21-019);| 列并时同名字符串列键由右操作数覆盖(新增 syntax-21-018)
- 13 页:select 输出列表同名列后者覆盖前者,须用 as 改名(新增 syntax-13-032)

三条 FAQ 说法实跑不复现,故未写入:12574 的括号消歧、19857 的 -2147483648
字面量限制、31474 的 :. bugfix 记录。15305/11045 的用户/公用/共享函数同名解析
优先级需要服务端多账号环境,本地无法验证,仍为已知缺口。

lexicon.json 为 16 页补两个页级 alias,使 nan/nil 语义能被自然语言查询命中。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-20 20:58:10 +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
ci[bot] 7233646398 📦 deps(skills): sync thirdparty skills 2026-08-14 17:16:06 +08:00
csh 5d73964db8 🐛 fix(tsl-syntax-reference): prefer ordinary quotes for plain text 2026-08-14 17:12:56 +08:00
csh 3d3036ebe1 feat(tsl-api-reference): expand API and module coverage 2026-08-14 17:12:55 +08:00
ci[bot] 9487dbddf1 📦 deps(skills): sync thirdparty skills 2026-08-13 17:38:27 +08:00
csh 8315f1060a 🐛 fix(tsl-syntax-reference): close verified syntax gaps 2026-08-13 14:49:43 +08:00
csh ede9287d5f 🐛 fix(gitea-fix-ci): distinguish symptoms from root causes 2026-08-13 12:05:03 +08:00
csh 61ea467a37 ♻️ refactor(gitea-fix-ci): centralize evidence fallback routing 2026-08-13 12:05:02 +08:00
csh 64458cd7a0 🐛 fix(gitea-fix-ci): require approval for recovery actions 2026-08-13 12:05:01 +08:00
csh 0a42350e22 ♻️ refactor(commit-message): separate CI input validation 2026-08-13 12:05:01 +08:00
csh 7ca6a69130 🐛 fix(commit-message): reject unsafe drafting shortcuts 2026-08-13 12:04:58 +08:00
csh bcbc53b7ce 🐛 fix(commit-message): separate commit and staging authorization 2026-08-13 12:04:58 +08:00
csh 3f0beae26b test(skills): add Darwin optimization prompts 2026-08-13 12:04:57 +08:00
csh 823b8c5560 🐛 fix(tsl-syntax-reference): cite prose syntax conclusions 2026-08-13 10:05:58 +08:00
csh d21ddb09a1 🐛 fix(tsl-syntax-reference): enforce fact-gap stop checkpoint 2026-08-13 10:05:58 +08:00
csh 6486632034 📝 docs(tsl-syntax-reference): document anonymous function scope 2026-08-13 10:05:57 +08:00
ci[bot] 073dac13a3 📦 deps(skills): sync thirdparty skills 2026-08-12 12:41:45 +08:00
csh a0131f52c6 🐛 fix(thirdparty): align human skill registry 2026-08-12 12:40:48 +08:00
csh 1d9590f6a1 🐛 fix(ci): validate thirdparty skills without local sync 2026-08-12 11:39:33 +08:00
csh 7bd965de89 feat(tsl-api-reference): update API catalog and data dictionary 2026-08-11 18:10:24 +08:00
csh 34a3a5dec1 ♻️ refactor(agent): streamline skills and rulesets 2026-08-11 14:56:21 +08:00
csh 9010829c6d feat(tsl-api-reference): expand and reorganize api catalog
Flatten builtin pages, add third-party and platform scopes, and import financial and data warehouse references.

Keep the existing generated index without rebuilding after signature normalization.
2026-08-10 18:26:24 +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 29d110110b feat(tsl-api-reference): improve tagged API discovery 2026-07-31 12:37:59 +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
cshandClaude Opus 5 21e688a436 🎨 style(tsl-syntax-reference): run prettier on unguarded tables
- SKILL.md and 02 were the only files prettier still reported in this
  skill; their tables carry no prettier-ignore guard like the wide ones on
  06 and 15, so `prettier -w` pads the cells
- formatting only, no wording change

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 21:33:42 +08:00
cshandClaude Opus 5 948a3ed85b 🐛 fix(tsl-syntax-reference): repair routing for colloquial queries
- split 03's overloaded 字符串边界规则: substring read/replace/delete/insert
  now sit in 字符串子串读写 with their own tags, so `截取子串` / `子串` /
  `字符串区间` stop returning only weak candidates, which SKILL.md tells the
  agent to treat as a fact gap even though the fact is on the page
- tag the remaining 03 section for wide strings, encoding conversion and
  binary buffers; those queries used to land on the neighbouring concat
  section, or on 23's binary-function overload
- add 异常处理 to 07's try-except and rename 21's H3 to 无效输入替换参数: the
  matrix ErrDefine section owned that phrase and outranked try-except by
  92 to a weak 11, while its own text says NAN is not an error position
- tag 03's like section for 正则表达式 and 08 for 调用父类方法 / 定义类; all
  three reached the wrong section on the right page, and 定义类 could not
  reach 最小类与声明位置 at all because the per-page cap was already full
- drop the redundant 可直接照写示例 under 03's 禁止项 and state the closed
  interval rule as a bullet instead; a positive example does not belong in
  the prohibition list

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 21:33:29 +08:00
cshandClaude Opus 5 68a3b852b0 🐛 fix(tsl-syntax-reference): check fence language per block identity
- `--check` now requires `反例 / 不可照写` in a text fence and
  `可直接照写示例` in a tsl fence; the AGENTS.md flow that extracts every
  ```tsl block and runs it would otherwise execute a counterexample as if
  it were a valid example, and an example hidden in a text fence would
  never be extracted for verification
- 10 held the only counterexample in a tsl fence (a local function call
  with a trailing `with array(...)`); the rule and that fix cannot land in
  separate commits or --check fails in between
- 配置片段 / 概念骨架 and 仅服务端可执行示例 stay unconstrained, since both
  languages are in use for them today

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 21:33:14 +08:00
cshandClaude Opus 5 bcad28d22c 🐛 fix(tsl-syntax-reference): correct wrong facts on pages 15 and 16
- 16's numeric literal example prints nine values but its output fragment
  listed three lines; replace it with what the interpreter actually
  prints, so the fragment stops contradicting the prose in the same block
- 15's keyword table listed `inherited` as reserved-but-unused, which
  contradicts the `Inherited;` / `Inherited MethodName(...)` examples on
  08; both run on windows-tsl and AnalyseNG.NET, so the keyword moves to
  the class row and points at 08

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 21:33:03 +08:00
ci[bot] d8b83e30ba 📦 deps(skills): sync thirdparty skills 2026-07-29 07:59:27 +00:00
csh 13be5ea0aa feat(tsl-api-reference): index class and unit APIs
Migrate reference pages to declaration-line storage and rebuild the
13-column index.

Add qualified member lookup plus regression and end-to-end coverage.
2026-07-29 15:47:46 +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 c6895fe41a 🐛 fix(tsl-syntax-reference): require exact long options in lookup cli
- 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
2026-07-29 15:45:49 +08:00
csh 40a9885eb4 feat(tsl-syntax-reference): harden retrieval and restructure pages
- 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
2026-07-29 15:45:47 +08:00
ci[bot] 37a3bf4b0c 📦 deps(skills): sync thirdparty skills 2026-07-22 10:10:01 +00:00
csh 67cab60a9f 🗑️ remove(skills): retire unsupported skill entries 2026-07-22 17:41:37 +08:00
csh 09314a2bdb 📝 docs(tsl-api-reference): localize skill guidance 2026-07-22 17:30:00 +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 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