You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This works for archive-mail's own writer (always emits message_id: "<...>" with double quotes), but the README and docs claim "Resilient to schema diversity" — overpromise.
Type
docs (claim reduction) OR refactor (parser hardening)
Three sub-issues
A. False claim in archive-mail.md properties block
archive-mail.md Step 2.1 properties states "Resilient to schema diversity:只 require message_id: field 在 YAML frontmatter 開頭~30 lines". This is not actually robust — it fails on:
Single-quoted values: message_id: '<...>'
Inline comments: message_id: "<...>" # received 2026-01-01
CRLF line endings (sub trailing ?$/ matches \r")
Trailing whitespace before closing quote
Multi-line YAML values (rare but valid)
B. Mitigations
Two paths:
Reduce claim: change "Resilient to schema diversity" to "Compatible with archive-mail's own message_id frontmatter format (v2.6+); manual archives or external sources may need explicit conversion". Doc-only fix, pure honesty.
Strengthen parser: switch from awk to a proper YAML parser (e.g. yq, or hand-rolled awk that handles quotes / comments / CRLF). Requires yq dep OR more bash code.
C. README log line claim
README L99 says detection "extends dedup with N entries" — if YAML parser silently skips files, N undercounts without warning. User can't tell if dedup is actually working from the log.
Priority
P3 — low impact unless user has manually-edited or externally-sourced markdown archives. archive-mail's own outputs are 100% covered by the current parser.
Strategy sketch
Recommended: Option A.1 (claim reduction) for cheap fix. Defer parser hardening until N≥3 user reports of manual-archive missed dedup.
This issue's verify-stage fix(es): MEDIUM parser failure-mode wording corrected
Codex caught parser-behavior accuracy issue Claude reviewer flat-passed — cross-model verify did its job.
2 Codex HIGH findings on ### Notes non-KAC section names rejected as false positives — empirical evidence shows ### Notes is established repo convention (6× usage in che-apple-mail-mcp CHANGELOG, also batch-ocr/plugin-tools/parallel-ai-agents).
DA skipped — disagreements were empirically resolvable via repo grep + bash awk test, no need for separate DA agent.
Scope Changes
(none from this issue's perspective; cluster-level only)
Problem
archive-mail.mdStep 2.1 sibling-archive dedup extension usesawkto extractmessage_id:value from markdown YAML frontmatter:mid=$(head -30 "$mdfile" 2>/dev/null | awk '/^message_id:[ \t]*/{sub(/^message_id:[ \t]*"?/,"");sub(/"?$/,"");print;exit}')This works for archive-mail's own writer (always emits
message_id: "<...>"with double quotes), but the README and docs claim "Resilient to schema diversity" — overpromise.Type
docs (claim reduction) OR refactor (parser hardening)
Three sub-issues
A. False claim in archive-mail.md properties block
archive-mail.md Step 2.1 properties states "Resilient to schema diversity:只 require
message_id:field 在 YAML frontmatter 開頭~30 lines". This is not actually robust — it fails on:message_id: '<...>'message_id: "<...>" # received 2026-01-01?$/matches\r")B. Mitigations
Two paths:
Reduce claim: change "Resilient to schema diversity" to "Compatible with archive-mail's own message_id frontmatter format (v2.6+); manual archives or external sources may need explicit conversion". Doc-only fix, pure honesty.
Strengthen parser: switch from awk to a proper YAML parser (e.g.
yq, or hand-rolled awk that handles quotes / comments / CRLF). Requiresyqdep OR more bash code.C. README log line claim
README L99 says detection "extends dedup with N entries" — if YAML parser silently skips files, N undercounts without warning. User can't tell if dedup is actually working from the log.
Priority
P3 — low impact unless user has manually-edited or externally-sourced markdown archives. archive-mail's own outputs are 100% covered by the current parser.
Strategy sketch
Recommended: Option A.1 (claim reduction) for cheap fix. Defer parser hardening until N≥3 user reports of manual-archive missed dedup.
Plus add a runtime log when ENTRIES_THIS_DIR=0 but
*.mdfiles exist in symlink dir (signal silent-skip to user).Related
documents_dir)Current Status
Phase: implemented (cluster-PR mode)
Last updated: 2026-05-10 by /idd-implement cluster
Key Decisions
idd/cluster-docs-followups-49-60.70e4485references this issue viaRefs PsychQuant/psychquant-claude-plugins#54.Scope Changes
Blocking
/idd-verify --pr 71cluster verify + per-issue/idd-closeafter merge.Commits
70e4485: archive-mail.md schema-diversity claim reduction (Refs [docs] archive-mail YAML message_id parser brittle — reduce 'schema diversity' claim or strengthen (sister concern from #49) #54)Current Status
Phase: verified
Last updated: 2026-05-10 by /idd-verify cluster
Key Decisions
### Notesnon-KAC section names rejected as false positives — empirical evidence shows### Notesis established repo convention (6× usage in che-apple-mail-mcp CHANGELOG, also batch-ocr/plugin-tools/parallel-ai-agents).Scope Changes
[2.18.1]entry (same KAC drift class as [docs] Backfill CHANGELOG [2.16.1] entry (sister concern from #49) #52) — suggested follow-up for next cluster.Blocking
/idd-closeclosing summary.Commits
c04f66d: fix(docs-cluster): apply /idd-verify PR cluster: 4 docs follow-ups from #49 / #60 IDD lifecycles #71 codex findings (Refs [docs] Backfill CHANGELOG [2.16.1] entry (sister concern from #49) #52 [docs] archive-mail YAML message_id parser brittle — reduce 'schema diversity' claim or strengthen (sister concern from #49) #54 [docs] plugin-tools CHANGELOG [1.15.0] entry has placeholder date — backfill (tangential from #60) #64)Current Status
Phase: closed
Last updated: 2026-05-10 by /idd-close cluster
Key Decisions
/idd-close PsychQuant/psychquant-claude-plugins#52 PsychQuant/psychquant-claude-plugins#54 PsychQuant/psychquant-claude-plugins#55 PsychQuant/psychquant-claude-plugins#64after PR cluster: 4 docs follow-ups from #49 / #60 IDD lifecycles #71 merged.- [x])→ Strategy/Plan unchecked items 視為 superseded per #515 fix。1557fbf)。#54commit 的 changed-files 列表)。Scope Changes
1557fbf(原 5 commits squashed: 4 implementation + 1 verify-fix)。### Notesnon-KAC rejected as repo-convention false positives。Blocking
Commits
1557fbf: cluster: 4 docs follow-ups from archive-mail: support workspaces with nested communications layout and symlinked historical archives #49 / plugin-update: add Step 0 git-state preview + commit/push confirmation dialog before mutating origin #60 IDD lifecycles (cluster: 4 docs follow-ups from #49 / #60 IDD lifecycles #71) — squash mergeidd/cluster-docs-followups-49-60,already deleted post-merge)