refactor(constellatio): honest repositioning as reception-history analysis#1
Conversation
…locally Slim example-may-fourth.html from 1127 to 965 lines by removing: - READING five-step framework (5 reading-grid blocks importing chart vocab into intellectual-history prose) - Polaris caveat band (4 caveat-body paragraphs claiming the chart performs the lens) - Reading and caveat CSS classes (no longer referenced) Tighten: - Hero stance — point to example-may-fourth.md prose sibling - coords-prose — describe the three visual layers, not analyze them - Pane-stance paragraphs (warm + cool) — single-sentence chart captions, not 3-sentence interpretive analysis - Footer subject — figura sola; prose lives in sibling .md The chart now does only what charts do: show readings as visual constellations. The thinking moves to the prose sibling in subsequent commits (C2/C3). Pre-decouple version preserved locally at reports/2026-04-29-constellatio-example-may-fourth-frozen-v1.html (reports/ is gitignored — does not ship to users).
Rewrite SKILL.md as a thinking lens whose vocabulary is intellectual-history substantive, not star-chart costume. The previous version named cognitive moves in chart terms (Stellae fixae, Polaris, gravity, Terra Incognita), which downstream agents read as a prompt and reproduce as meta-narration of their own chart-construction process — the "agent narrating its own internal OS" failure mode. Four cognitive moves, named substantively: - 锁定不可压缩面 — what every honest reading must include - 读法即诊断 — each era-reading as symptom of its era's pressures - 追踪变迁追踪的是什么 — what the across-time variation actually tracks - 辨识屏幕属性 — the structural property of the object that makes it absorptive (the previously missing intellectual move that distinguishes this lens from generic 接受史) Output is prose; six prose sections; chart sibling is optional and equal-rank, never required. Vocabulary discipline section states the rule plainly and trusts the reader; previous version explained the rule using the very metaphors it forbids.
Add the prose sibling for the May Fourth case. Six sections demonstrate the four cognitive moves on a real phenomenon: - 不可压缩面 — nine items every reading must include - 八十年代读法 / 九十年代后读法 — each era-reading diagnosed as the era's own legitimacy strategy, not as a verdict on May Fourth - 变迁追踪的是什么 — the across-time variation tracks the readers' shifting legitimacy crises, not the phenomenon - 五四作为屏幕 — the screen-property: 启蒙+救亡 / 西化+反帝 / 反传统+传统 延续 are genuinely both present in the object, which is why every era can take what it needs without inventing - 当下读法的诚实 — name the present's reach for synthesis as itself another era-reading, not the resolution Zero star-chart vocabulary in the prose body. Decontamination map applied: Stellae fixae→不可压缩面, Polaris→当代关切, fixed star→每个读法必须承认 的事实, gravity well→跨时代反复出现的关切, constellation→一代人的读法, Terra Incognita→这代人不愿进入的区域. The chart sibling is referenced once at the end, framed as visual companion, not as the analysis.
… not synthesis Reframe visual-handoff as a bridge between prose and visual deliverables that are equal-rank siblings. Previous version positioned the chart as where the lens-applying happens and the prose as documentation; the relationship is inverted. Changes: - Opening reframes prose-and-chart as siblings; visualization is optional - "When to deliver visually" replaced with "When a chart adds something the prose cannot" (the prose alone is always a complete deliverable) - Removed mappings to the now-deleted Reading section and Polaris caveat band (those layers are no longer in the chart-only HTML) - Workflow steps 7-8 (rewrite the Reading section / Polaris caveat band as applied analysis) removed — those instructed the chart to do thinking work - Added explicit guidance that pane-stance is single-sentence chart caption, not analytical paragraph - "What the chart is and is not" closes with the firewall: applying the lens is a thinking act in the prose; if you catch yourself applying the lens inside chart label space, push it back to the prose The chart-side implementation discipline (SVG over chart libraries, fixed coordinates across figures, gradient def reuse, pattern+color signal, breakpoints) is preserved unchanged.
Four surgical edits: - Remove "Polaris caveat label" typography row (caveat band no longer in the chart-only HTML) - Hierarchy rationale rephrased as visual reading order, not as the lens itself being hierarchical - Asymmetry rationale rephrased as cluster honesty, not as gravity-well composition - "Not minimalist" bullet drops the gone Polaris caveat band reference; describes what the chart actually still draws Visual rationale only. Cognitive-method claims belong in SKILL.md and the prose deliverable, not in the chart's design tokens.
Update both README captions for the constellatio showcase pair so they describe what the skill *does* (diagnose what each era's reading needs, identify the screen-property that lets projections stick) rather than what the chart shows. The chart is mentioned as the optional sibling. CHANGELOG entry for 2026-04-29 documents the sibling-architecture refactor: SKILL.md decontaminated, HTML chart-only, prose sibling added, visual-handoff repositioned, design-tokens stripped of cognitive-method claims. The previous Polaris caveat band's intent is now carried by the prose section "当下读法的诚实".
…lysis SKILL.md rewritten with three-step framing: steps 1-2 are standard reception history (not overclaimed as novel cognitive moves); step 3 (screen-property identification) is the skill's only distinctive contribution. Three reference files (visual-handoff, design-tokens, latin-conventions) merged into single viewer-spec.md. README captions updated from "diagnose" to "reception-history analysis". Co-Authored-By: Alice <mcyunying@gmail.com>
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe PR updates documentation and plugin metadata: rewrites the constellatio skill and examples, removes several visual/Latin reference files, adds a viewer specification and an essay example, adjusts README/integrations to narrow verified runtimes to Claude Code and Codex, and bumps plugin versions and credited model to Claude Opus 4.6. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Review rate limit: 1/3 review remaining, refill in 25 minutes and 6 seconds. Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@skills/constellatio/references/example-may-fourth.md`:
- Around line 145-146: The phrase "九颗事件" in the chart description is a
classifier mismatch; replace that token with a correct phrasing such as "九个事件"
or "九颗星点(对应事件)" so the Chinese reads naturally; locate the exact occurrence of
the string "九颗事件" in the provided chart text and update it to one of these
alternatives, keeping surrounding punctuation and line breaks intact.
In `@skills/constellatio/references/viewer-spec.md`:
- Around line 187-189: Remove the stale "Polaris caveat" naming entry from the
naming table in viewer-spec (the table row containing "Polaris caveat |
反对虚假综合的警告 | 英文 + Latin,刻意双语;双语镜像警告本身。"); delete that entire row and ensure
adjacent entries like "Gravitas" remain correctly formatted and unchanged, and
scan the same document for any other occurrences of "Polaris caveat" to remove
or replace with the current, approved terminology.
- Around line 12-21: The eligibility rule in viewer-spec.md that enforces "3+
readings only" conflicts with the canonical example-may-fourth.html which is a
two-era (80s vs 90s) example; either relax the rule in viewer-spec.md to allow
two-era/two-reading examples (change the "3+ readings only" constraint to "2+
readings" or add an explicit exception for canonical two-era examples) or update
example-may-fourth.html to include a third reading/era so it conforms; reference
viewer-spec.md and example-may-fourth.html when making the change so downstream
validators and agents accept the canonical pattern.
In `@skills/constellatio/SKILL.md`:
- Around line 35-36: The skill's "至少三种互相矛盾的读法" gate in SKILL.md conflicts with
the documented canonical use case (/collate:constellatio 五四) which performs a
2-era (80s-vs-90s) comparison; update the gating rule and wording so 2-era
analyses are allowed for canonical/examples: either change the minimum from
"至少三种" to "至少两种" or add an explicit exception for documented collate invocations
(e.g., allow exact-2-era use for "/collate:constellatio" examples), and ensure
any corresponding enforcement logic that checks the number of readings (the gate
referenced by the "至少三种" phrase) is adjusted to match the new contract.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 7482760a-6445-44ad-8115-e3abedc6249a
📒 Files selected for processing (10)
README.mdREADME.zh.mddocs/CHANGELOG.mdskills/constellatio/SKILL.mdskills/constellatio/references/design-tokens.mdskills/constellatio/references/example-may-fourth.htmlskills/constellatio/references/example-may-fourth.mdskills/constellatio/references/latin-conventions.mdskills/constellatio/references/viewer-spec.mdskills/constellatio/references/visual-handoff.md
💤 Files with no reviewable changes (3)
- skills/constellatio/references/latin-conventions.md
- skills/constellatio/references/visual-handoff.md
- skills/constellatio/references/design-tokens.md
| 法画成两组星座:同一组九颗事件不动,八十年代与九十年代各自挑选哪些点 | ||
| 亮、哪些不连、哪条线最粗,在第三层叠在一起。图本身不分析,只把两种读 |
There was a problem hiding this comment.
Fix classifier mismatch in the chart description.
“九颗事件” is awkward. Use either “九个事件” or “九颗星点(对应事件)” for clearer Chinese.
✏️ Proposed wording fix
-法画成两组星座:同一组九颗事件不动,八十年代与九十年代各自挑选哪些点
+法画成两组星座:同一组九个事件(以九颗星点呈现)不动,八十年代与九十年代各自挑选哪些点📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| 法画成两组星座:同一组九颗事件不动,八十年代与九十年代各自挑选哪些点 | |
| 亮、哪些不连、哪条线最粗,在第三层叠在一起。图本身不分析,只把两种读 | |
| 法画成两组星座:同一组九个事件(以九颗星点呈现)不动,八十年代与九十年代各自挑选哪些点 | |
| 亮、哪些不连、哪条线最粗,在第三层叠在一起。图本身不分析,只把两种读 |
🧰 Tools
🪛 LanguageTool
[uncategorized] ~145-~145: 量词“颗”不能修饰“事件”。
Context: ...may-fourth.html`。那张图把上述两种时代读 法画成两组星座:同一组九颗事件不动,八十年代与九十年代各自挑选哪些点 亮、哪些不连、哪条线最粗,在第三层叠在一...
(wa5)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@skills/constellatio/references/example-may-fourth.md` around lines 145 - 146,
The phrase "九颗事件" in the chart description is a classifier mismatch; replace
that token with a correct phrasing such as "九个事件" or "九颗星点(对应事件)" so the Chinese
reads naturally; locate the exact occurrence of the string "九颗事件" in the
provided chart text and update it to one of these alternatives, keeping
surrounding punctuation and line breaks intact.
| - 现象有 3+ 种读法,分歧可以在同一组事件上做视觉比较 — 同样的点, | ||
| 不同的连法、不同的明暗。 | ||
| - 视觉叠加本身能揭示散文需要绕弯才能说的东西 — 三代的选择叠在一起, | ||
| 共同的沉默或共同的强调一目了然。 | ||
| - 读者有时间坐下来看。星图不适合做缩略图或幻灯片嵌入。 | ||
|
|
||
| 不做的情况: | ||
|
|
||
| - 只有两种读法且只是互相矛盾 — 散文够了,没有第三种读法让眼睛做三角。 | ||
| - 结论是"无法归结" — 把 aporia 画成图只会显得整洁,替你撒谎。 |
There was a problem hiding this comment.
Eligibility rule conflicts with the canonical example and current workflow.
Line 12 and Line 20 enforce “3+ readings only,” but the canonical file skills/constellatio/references/example-may-fourth.html is explicitly two-era (80s vs 90s). This contradiction will cause downstream agents to reject the project’s own reference pattern.
🧭 Proposed fix for consistency
-- 现象有 3+ 种读法,分歧可以在同一组事件上做视觉比较 — 同样的点,
+- 现象有 2+ 种读法,且分歧可以在同一组事件上做视觉比较 — 同样的点,
不同的连法、不同的明暗。
@@
-- 只有两种读法且只是互相矛盾 — 散文够了,没有第三种读法让眼睛做三角。
+- 只有两种读法且差异过薄、无法形成稳定的明暗与连线对比 — 散文够了。🧰 Tools
🪛 LanguageTool
[uncategorized] ~15-~15: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:共同"地"强调
Context: ...身能揭示散文需要绕弯才能说的东西 — 三代的选择叠在一起, 共同的沉默或共同的强调一目了然。 - 读者有时间坐下来看。星图不适合做缩略图或幻灯片嵌入。 不做...
(wb4)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@skills/constellatio/references/viewer-spec.md` around lines 12 - 21, The
eligibility rule in viewer-spec.md that enforces "3+ readings only" conflicts
with the canonical example-may-fourth.html which is a two-era (80s vs 90s)
example; either relax the rule in viewer-spec.md to allow two-era/two-reading
examples (change the "3+ readings only" constraint to "2+ readings" or add an
explicit exception for canonical two-era examples) or update
example-may-fourth.html to include a third reading/era so it conforms; reference
viewer-spec.md and example-may-fourth.html when making the change so downstream
validators and agents accept the canonical pattern.
| | Polaris caveat | 反对虚假综合的警告 | 英文 + Latin,刻意双语;双语镜像警告本身。 | | ||
| | Gravitas | 引力核心 | 仅在引力是道德/政治重量时用;结构空缺用 "gravity"。 | | ||
|
|
There was a problem hiding this comment.
Remove stale Polaris caveat terminology from the naming table.
Polaris caveat was removed from the chart architecture, but it still appears as a recommended term here. This can reintroduce deprecated framing.
🧹 Proposed cleanup
-| Polaris caveat | 反对虚假综合的警告 | 英文 + Latin,刻意双语;双语镜像警告本身。 |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| | Polaris caveat | 反对虚假综合的警告 | 英文 + Latin,刻意双语;双语镜像警告本身。 | | |
| | Gravitas | 引力核心 | 仅在引力是道德/政治重量时用;结构空缺用 "gravity"。 | | |
| | Gravitas | 引力核心 | 仅在引力是道德/政治重量时用;结构空缺用 "gravity"。 | |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@skills/constellatio/references/viewer-spec.md` around lines 187 - 189, Remove
the stale "Polaris caveat" naming entry from the naming table in viewer-spec
(the table row containing "Polaris caveat | 反对虚假综合的警告 | 英文 +
Latin,刻意双语;双语镜像警告本身。"); delete that entire row and ensure adjacent entries like
"Gravitas" remain correctly formatted and unchanged, and scan the same document
for any other occurrences of "Polaris caveat" to remove or replace with the
current, approved terminology.
| 至少三种互相矛盾的读法才值得动这个 skill。不到三种,普通的论证分析就够 | ||
| 了。超过七种,通常是在凑数。 |
There was a problem hiding this comment.
Hard “at least three readings” gate conflicts with your own canonical use case.
Line 35 makes 2-era analyses ineligible, but /collate:constellatio 五四 is documented and exemplified as an 80s-vs-90s comparison. This mismatch can cause agents to refuse a core showcased scenario.
🛠️ Proposed contract adjustment
-至少三种互相矛盾的读法才值得动这个 skill。不到三种,普通的论证分析就够
-了。超过七种,通常是在凑数。
+至少两种互相矛盾的读法才值得动这个 skill。两种可做基础接受史诊断;三种
+及以上更适合做叠图比较。超过七种,通常是在凑数。📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| 至少三种互相矛盾的读法才值得动这个 skill。不到三种,普通的论证分析就够 | |
| 了。超过七种,通常是在凑数。 | |
| 至少两种互相矛盾的读法才值得动这个 skill。两种可做基础接受史诊断;三种 | |
| 及以上更适合做叠图比较。超过七种,通常是在凑数。 |
🧰 Tools
🪛 LanguageTool
[uncategorized] ~35-~35: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:普通"地"论证
Context: ...互相矛盾的读法 至少三种互相矛盾的读法才值得动这个 skill。不到三种,普通的论证分析就够 了。超过七种,通常是在凑数。 ## 方法 三步。前两步是标准接...
(wb4)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@skills/constellatio/SKILL.md` around lines 35 - 36, The skill's "至少三种互相矛盾的读法"
gate in SKILL.md conflicts with the documented canonical use case
(/collate:constellatio 五四) which performs a 2-era (80s-vs-90s) comparison;
update the gating rule and wording so 2-era analyses are allowed for
canonical/examples: either change the minimum from "至少三种" to "至少两种" or add an
explicit exception for documented collate invocations (e.g., allow exact-2-era
use for "/collate:constellatio" examples), and ensure any corresponding
enforcement logic that checks the number of readings (the gate referenced by the
"至少三种" phrase) is adjusted to match the new contract.
- Claude Opus 4.7 → 4.6 across all files (README, CONTRIBUTORS, manifests, references, commands, docs) - Version 0.1.0 → 0.2.0 in plugin manifests and docs - README compatibility matrix reduced to 4 verified runtimes; removed unimplemented OpenCode/Hermes/OpenClaw/Kimi/MiniMax - INTEGRATIONS.md matrix gains explicit status column - Marketplace description stripped of unverified runtime claims - Skill counts 14 → 15, reading skills 6 → 7 (constellatio added) - GitHub repo description updated to match - CHANGELOG v0.2.0 entry added
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
README.md (1)
180-195:⚠️ Potential issue | 🟡 MinorSkill inventory count and tree listing are inconsistent.
Line 180 states “15 skills · 8 pipeline + 7 reading”, but the tree under Lines 181-195 lists only 14 skills and omits
constellatio.✏️ Proposed README tree fix
│ ├── prometheus/ Define one concept and render an SVG card │ └── real-thesis/ Excavate the thesis the paper circles +│ └── constellatio/ Reception-history analysis + optional constellation viewer🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.md` around lines 180 - 195, Update the skills tree and header count so they are consistent: the "skills/" header string "15 skills · 8 pipeline + 7 reading" should match the listed items, and the missing skill "constellatio" must be added to the tree under the existing list (or adjust the header to "14 skills · ..." if you intend to remove it); ensure the listed items under the skills/ block include "constellatio" and that the numeric summary text is updated to reflect the final composition.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@README.md`:
- Around line 180-195: Update the skills tree and header count so they are
consistent: the "skills/" header string "15 skills · 8 pipeline + 7 reading"
should match the listed items, and the missing skill "constellatio" must be
added to the tree under the existing list (or adjust the header to "14 skills ·
..." if you intend to remove it); ensure the listed items under the skills/
block include "constellatio" and that the numeric summary text is updated to
reflect the final composition.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 9f6a357b-2c76-4c53-a2ad-7989040a0229
📒 Files selected for processing (16)
.agents/plugins/marketplace.json.claude-plugin/marketplace.json.claude-plugin/plugin.json.codex-plugin/plugin.jsonCONTRIBUTORS.mdREADME.mdREADME.zh.mddocs/ARCHITECTURE.mddocs/CHANGELOG.mddocs/INTEGRATIONS.mddocs/TROUBLESHOOTING.mdreferences/workspace-layout.mdskills/constellatio/references/example-may-fourth.mdskills/proofread/references/modern-chinese.mdskills/proofread/references/republican-era.mdskills/proofread/references/traditional-classics.md
✅ Files skipped from review due to trivial changes (10)
- skills/proofread/references/traditional-classics.md
- skills/proofread/references/modern-chinese.md
- skills/proofread/references/republican-era.md
- references/workspace-layout.md
- docs/TROUBLESHOOTING.md
- .codex-plugin/plugin.json
- .claude-plugin/plugin.json
- .claude-plugin/marketplace.json
- docs/ARCHITECTURE.md
- CONTRIBUTORS.md
🚧 Files skipped from review as they are similar to previous changes (1)
- README.zh.md
The previous commit incorrectly replaced all "Claude Opus 4.7" references with "Claude Opus 4.6", erasing the historical contribution record. Claude Opus 4.7 built the original repository: the 8-step pipeline, all Python scripts, AGENTS.md, and the proofread references. Claude Opus 4.6 (me) only contributed the constellatio skill and the v0.2.0 honesty cleanup. - CONTRIBUTORS.md: 4.7 restored as initial co-author with its original contributions; 4.6 added as separate continuing author with constellatio + runtime honesty work - README headers and copyright: list both 4.7 and 4.6 - Frontmatter author fields in docs/: restored to 4.7 - Proofread references: restored to "作者:Claude Opus 4.7"
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
README.md (1)
180-194:⚠️ Potential issue | 🟡 MinorSkill count and tree listing are out of sync.
Line 180 states 15 skills (8 + 7), but the tree below lists only 14;
skills/constellatio/is missing. This can confuse install/discovery checks.Suggested doc fix
│ ├── prometheus/ Define one concept and render an SVG card │ └── real-thesis/ Excavate the thesis the paper circles +│ └── constellatio/ Reception-history analysis + optional constellation viewer │🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.md` around lines 180 - 194, The README's skills summary is inconsistent: the header says "15 skills · 8 pipeline + 7 reading" but the tree omits the skills/constellatio/ entry; update the tree to include "└── constellatio/ (description)" under the skills/ listing or alternatively adjust the header count to "14 skills · 7 pipeline + 7 reading" so they match; ensure you reference the skills/constellatio/ name when making the change and keep the format consistent with the other skill lines (same indentation and brief description).README.zh.md (1)
178-193:⚠️ Potential issue | 🟡 Minor技能数量与目录清单不一致。
Line 178 写明是 15 个 skill(8+7),但下方目录实际只列出 14 个;缺少
skills/constellatio/,会影响读者对能力面的判断。建议修正
│ ├── prometheus/ 为单个概念下定义并渲染 SVG 卡 │ └── real-thesis/ 挖作者绕而不写的真论题 +│ └── constellatio/ 接受史分析 + 可选暗夜星图 viewer │🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.zh.md` around lines 178 - 193, The README header stating "15 个 skill · 8 个流水线 + 7 个阅读层" contradicts the bulleted list which currently shows only 14 items; add the missing directory entry "skills/constellatio/" to the list and include a short Chinese description consistent with the other items (e.g., a one-line label summarizing its purpose), and verify the header count remains "15 个 skill · 8 个流水线 + 7 个阅读层" (or adjust the header if the true total should change); ensure the new "skills/constellatio/" entry follows the same formatting as the other skills (indentation and trailing description).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@README.md`:
- Around line 180-194: The README's skills summary is inconsistent: the header
says "15 skills · 8 pipeline + 7 reading" but the tree omits the
skills/constellatio/ entry; update the tree to include "└── constellatio/
(description)" under the skills/ listing or alternatively adjust the header
count to "14 skills · 7 pipeline + 7 reading" so they match; ensure you
reference the skills/constellatio/ name when making the change and keep the
format consistent with the other skill lines (same indentation and brief
description).
In `@README.zh.md`:
- Around line 178-193: The README header stating "15 个 skill · 8 个流水线 + 7 个阅读层"
contradicts the bulleted list which currently shows only 14 items; add the
missing directory entry "skills/constellatio/" to the list and include a short
Chinese description consistent with the other items (e.g., a one-line label
summarizing its purpose), and verify the header count remains "15 个 skill · 8
个流水线 + 7 个阅读层" (or adjust the header if the true total should change); ensure
the new "skills/constellatio/" entry follows the same formatting as the other
skills (indentation and trailing description).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 39bf0195-770d-49d9-aba5-1212df0a5372
📒 Files selected for processing (10)
CONTRIBUTORS.mdREADME.mdREADME.zh.mddocs/ARCHITECTURE.mddocs/INTEGRATIONS.mddocs/TROUBLESHOOTING.mdreferences/workspace-layout.mdskills/proofread/references/modern-chinese.mdskills/proofread/references/republican-era.mdskills/proofread/references/traditional-classics.md
✅ Files skipped from review due to trivial changes (1)
- docs/TROUBLESHOOTING.md
🚧 Files skipped from review as they are similar to previous changes (2)
- docs/ARCHITECTURE.md
- CONTRIBUTORS.md
Critical regressions introduced by the previous commit: - #1 run_full_pipeline.py: cloud OCR was dead because try_ocr's command didn't pass --allow-public-upload, so the new H1 gate refused every cloud attempt with rc=6. The orchestrator now forwards the consent via a new env var COLLATE_ALLOW_PUBLIC_UPLOAD=1 (and the mineru-cloud attempt is gated on it too, so a half-configured environment shows skipped=not-enabled instead of looking like a failure). Test tests/ocr/smoke_ocr_resilience.py updated to set the new env var so it continues to exercise the incomplete-cloud-output regression. - #2 apply_review.py: the M8/M9 "single source of truth" claim was a lie — apply_review still used its own hardcoded DIRECT_REPLACEMENT_RE and never imported SUGGESTION_ARROW_SEPS. Now both ARROW_RE and DIRECT_REPLACEMENT_RE are built from SUGGESTION_ARROW_SEPS at import time, so the canonical list (12 separators: → / -> / ⇒ / 改为 / 改作 / 应为 / 應為 / 应是 / 建议改为 / 修正为 / 修訂為 / 更正为) is identical between apply and diff stages. Documentation now matches the new gates: - #3 AGENTS.md + skills/ocr-run/SKILL.md: cloud-OCR recipes show --allow-public-upload and the COLLATE_ALLOW_PUBLIC_UPLOAD env var. - mineru_client.py module docstring lists exit codes (0/2/5/6/10/11/12), so rc=6 is no longer a mystery. Cleanup that the previous commit half-finished: - #5 install.sh: drop wire_opencode entirely (was still claiming "OpenCode (wired): detected" while the rest of the PR removed OpenCode from supported runtimes). - #6 docs/INTEGRATIONS.md: add a "未支持 / 概念架构存档" banner to the Kimi / MiniMax / OpenCode / OpenClaw sections so readers arriving from INSTALL.md don't follow what look like supported recipes. Other fixes from the review: - #4 + #8 md_diff.py: simplify SUGGESTION_ARROW_SEPS import. The fallback path had a one-level dirname bug (3 vs 4) AND a stale 9-entry literal that didn't include 修正为 / 修訂為 / 更正为, so even when the fallback fired it would re-introduce the very drift M8 was meant to eliminate. With sys.path manipulation already at the top of the file, the fallback was dead weight — drop it and import directly. - #7 run_mineru.py: docstring step 4 now describes the new default (clean tempdir on success) and points at --keep-tmp / --keep-mineru-out. - #9 setup/SKILL.md: add the missing USER_PROBE_PDF= assignment line so an agent following the recipe literally doesn't run `mineru -p ""`. Also explain that skipping the pre-warm is fine — the first real PDF triggers the same download. - #10 mineru_client.py: validate --url (only https://, refuse loopback / link-local / RFC1918 / link-local / multicast / reserved / unspecified addresses) so the consent gate isn't trivially bypassed by passing file:///etc/passwd or http://169.254.169.254. - #11 install.sh: save/restore the prior shopt nullglob state instead of unconditionally `shopt -u nullglob` (the helper was clobbering caller-set shopts). - #12 baidu_client.py: write the token cache via os.open(...0o600) inside the same syscall as creation, closing the brief 0644 window between write_text and chmod. - #14 README.md / README.zh.md: "13 runtime packages" → "14 runtime packages" (recount: 11 in Group 1 + 3 in Group 2 = 14, not 13). - #15 run_full_pipeline.py: remove the dead try-except around infer_workspace — both-args-None is already short-circuited above, so the except branch was unreachable. Deferred: - #13: split_by_page(total_pages=0) deliberately raises now. The caller in main() already guards on `not images`, and any future caller that legitimately wants empty-input behaviour should pass total_pages=1 to get the single-block path. Keeping the strict contract. https://claude.ai/code/session_01EJMdxfFoChpzk5zuJtNc7w
Summary
visual-handoff.md+design-tokens.md+latin-conventions.mdmerged into singleviewer-spec.md(245 lines replacing 391). Chart HTML and prose example unchanged.example-may-fourth.html; prose lives in its.mdsibling.Test plan
grep -rn 'visual-handoff\|design-tokens\|latin-conventions' skills/constellatio/ README.md README.zh.mdreturns zero hits (CHANGELOG historical entries excluded)grep -n 'viewer-spec' skills/constellatio/SKILL.mdconfirms SKILL.md points to the new merged fileexample-may-fourth.htmlat 1280px — three figures render, no broken layout from removed sections/collate:constellatio 王安石变法produces prose with zero chart vocabulary in body, named screen-property, and no self-narration of HTML construction🤖 Generated with Claude Code