Commit Graph

320 Commits

Author SHA1 Message Date
Ma
234a5522b4 docs: add Repobeats analytics to README 2026-03-30 02:00:06 +08:00
Ma
616f73e96e fix: add strict fact-only constraint to settler state extraction
Settler was inferring events not present in chapter text, especially
on chapter 1 where initial truth files contain outline-generated hooks.
Add explicit rule: only extract what the chapter text actually describes,
never predict/supplement from outline or future chapters.

Discovered via autoresearch bench run.
2026-03-30 02:00:06 +08:00
Ma
75bec6ff19 docs: add Star History chart and Contributors section to README 2026-03-30 02:00:06 +08:00
Ma
275cf1293e chore: bump version to 0.6.3, SKILL.md to 2.1.0, update CHANGELOG v0.6.3 2026-03-29 19:48:34 +08:00
Ma
2f86af72f2 fix: harden validator parsing and status counts 2026-03-29 19:30:48 +08:00
Ma
9a07d04ae1 docs: sync SKILL.md with full CLI command set
Add missing commands: eval, consolidate, write rewrite, book update/delete,
plan chapter, compose chapter, studio, fanfic show/refresh, genre create/copy.
Fix genre create parameter docs (was --rules, actual is --numerical/--power/--era).

Closes #111
2026-03-29 19:21:07 +08:00
Ma
eee8950989 fix: make book creation fail closed 2026-03-29 00:44:25 +08:00
Ma
eaa8749a54 feat: add inkos eval command for structured quality reporting
Outputs per-chapter and whole-book quality metrics:
- Composite quality score (0-100)
- Audit pass rate, AI tell density, paragraph health
- Hook resolve rate, duplicate title count
- Per-chapter quality trend with drift detection
- Supports --json for machine-readable output
- Supports --chapters range for partial evaluation
2026-03-29 00:30:44 +08:00
Ma
eba4a54ae4 feat: harden v0.6.3 safety guards and migration hints 2026-03-28 21:29:38 +08:00
Ma
4c0ffed7ff feat: add version migration check to doctor command
Detects books using legacy pre-v0.6 format (no story/state/ directory)
and advises running write next to auto-migrate.

Addresses #95
2026-03-28 20:42:35 +08:00
Ma
75a70ece5d test: add rewrite chapter regression — verify next chapter is 2 after rewrite 2
Simulates: write 3 chapters → rewrite chapter 2 (trim index, delete
files, restore snapshot) → assert getNextChapterNumber returns 2.

Addresses #103
2026-03-28 20:40:14 +08:00
Ma
aeb6d2c171 fix: detect duplicate chapter titles in prompt and post-write validation
- Writer prompt: add "title must differ from existing chapters" constraint
- post-write-validator: add detectDuplicateTitle() for exact and near-duplicate matching
- runner: check title uniqueness against chapter index before persist

Addresses #94
2026-03-28 20:38:21 +08:00
Ma
7a4a486698 fix: run paragraph shape detection on final content before persist
Previously paragraph drift detection only ran on the initial draft.
Now it also runs on finalContent (after normalize + auto-revise)
right before saveChapter, catching fragmentation introduced by
intermediate pipeline stages.

Addresses #90
2026-03-28 20:34:53 +08:00
Ma
c95150d45f fix: add execution-layer guards to agent tool dispatch
- write_draft: verify sequential chapter order, reject gap writes
- revise_chapter: verify target chapter exists and has content
- write_truth_file: block chapter progress manipulation in current_state.md
- import_chapters: require minimum 2 chapters (whole-book reimport only)

Addresses #92 #93 execution-layer hardening
2026-03-28 20:32:44 +08:00
Ma
eb29720020 fix: only use --force-local tar flag on Windows
macOS BSD tar does not support --force-local. Only needed on Windows
where drive letters (C:) get misinterpreted as remote hosts.
2026-03-28 20:16:50 +08:00
Ma
cc44e74e3a docs: add v0.6.1 and v0.6.2 to CHANGELOG.md 2026-03-28 20:13:13 +08:00
Ma
10deafe720 docs: point OpenClaw links to skill page, add agent to auditor description 2026-03-28 20:11:48 +08:00
Ma
eb9de48ac3 docs: update README descriptions and fix CLI casing 2026-03-28 20:10:41 +08:00
Ma
237f80b657 docs: revert README SEO rewrite, keep only Cli → CLI fix 2026-03-28 20:04:54 +08:00
Ma
db1ae029a5 fix: harden agent tool descriptions and add prohibitive system prompt
- write_draft: explicitly states "next chapter only", cannot backfill
- revise_chapter: cannot substitute for missing chapters or change chapter numbers
- import_chapters: marked as whole-book reimport, not single-chapter patch
- write_truth_file: marked as full-file overwrite, cannot hack chapter progress
- System prompt: added prohibitions section preventing common misuse patterns

Addresses #92 #93
v0.6.2
2026-03-28 19:52:11 +08:00
Ma
bfdd7a4ac7 fix: add short paragraph and density drift detection
- Detect consecutive short paragraphs (< 80 chars)
- Detect paragraph fragmentation (> 40% short paragraphs)
- Track paragraph shape across chapters for drift detection
- Add warnings to post-write validator output

Closes #90
2026-03-28 19:49:15 +08:00
Ma
f7d310feab chore: bump version to 0.6.2 2026-03-28 19:20:07 +08:00
Ma
e13546c254 fix: add --force-local to tar in publish test for Windows compatibility
Windows drive letters (C:) get misinterpreted as remote host names by tar.
2026-03-28 19:19:33 +08:00
Ma
f82563ef2a fix: govern chapter analyzer inputs across v2 flows 2026-03-28 00:04:17 +08:00
Ma
b2a0c776fc fix: preserve final chapter content during truth rebuild 2026-03-27 23:45:51 +08:00
Ma
0188504186 feat: arbitrate new hook candidates before state apply 2026-03-27 23:25:21 +08:00
Ma
eb70c787ac fix: absorb duplicate hook families and allow local llms without keys 2026-03-27 21:18:34 +08:00
Ma
a7f7d6c147 fix: clarify streaming provider fallback errors 2026-03-27 21:17:34 +08:00
Ma
9990ea0c62 docs: sync Chinese README — add AI agent keywords, fix CLI casing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-27 15:02:12 +08:00
Ma
ecfca98c46 docs: SEO optimization — AI agent keywords, npm keywords, README restructure
- README.en.md: rewrite opening paragraph with "AI agent" front and center,
  add 10-Agent Pipeline / Structured State / Hook Governance sections,
  move v0.6 changelog out of Quick Start into Key Features
- package.json: add SEO keywords and update descriptions for npm search
  (root, cli, core packages)
- Fix "Cli" → "CLI" in h1 title

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-27 14:21:12 +08:00
Ma
b81ecf762e chore: regenerate lockfile for workspace consistency 2026-03-27 11:22:52 +08:00
Ma
31662f1750 docs: add v0.6 to CHANGELOG.md 2026-03-27 11:20:47 +08:00
Ma
4c468d2736 chore: bump version to 0.6.1 v0.6.1 2026-03-27 11:12:07 +08:00
Ma
e2dae5ee34 fix: normalize emphasized hook ids 2026-03-27 11:10:34 +08:00
Ma
dc8aa3bc01 fix: recover from poisoned runtime state progress 2026-03-27 11:10:34 +08:00
Ma
70d60d649e docs: move v0.6 changelog before quick start 2026-03-26 17:00:04 +08:00
Ma
037fc4962d docs: add v0.6 changelog to README 2026-03-26 16:55:07 +08:00
Ma
55fcc352de fix: restore workspace:* dep for CI lockfile compat v0.6.0 2026-03-26 12:49:33 +08:00
Ma
a50b5cea33 chore: update lockfile and root version for 0.6.0 2026-03-26 12:44:45 +08:00
Ma
ad8301b8d8 chore: bump version to 0.6.0 2026-03-26 12:41:07 +08:00
Ma
0512eeaf73 docs: update SKILL.md for v2 pipeline and structured state
- Update pipeline description: 5-agent -> multi-agent with Planner,
  Composer, Observer, Reflector, Normalizer
- Document three-phase architecture and JSON delta settlement
- Add hook agenda, hook health analysis, admission control
- Add structured state, SQLite memory, length governance details
- Bump skill version to 2.0.0
2026-03-26 12:36:32 +08:00
Ma
bb7c8c92ac test: fix mocks for hook agenda schema changes 2026-03-26 12:36:32 +08:00
Ma
b4c2684127 feat: tighten v2 hook governance and english variance control 2026-03-26 12:36:32 +08:00
Ma
782c3aaec2 fix: auto-repair duplicate chapter summaries in persisted JSON
Bootstrap now deduplicates summary rows even when loading from existing
JSON (not just when bootstrapping from markdown). Stale JSON with
duplicates from interrupted retries is repaired on load instead of
causing "duplicate_summary_chapter" validation errors.
2026-03-26 12:02:42 +08:00
Ma
14bf764756 fix: prevent length normalizer from destroying chapter content
- sanitizeNormalizedContent: if stripCommonWrappers removes >50% of
  content, fall back to full LLM output (regex was too aggressive)
- sanitizeNormalizedContent: if strip result is empty (wrapper-only
  response), fall back to original chapter content
- runner: reject normalize result if finalCount < 25% of original
  (safety net against catastrophic content loss like 2612->795)
2026-03-26 12:02:42 +08:00
Ma
19db2c839b docs: update README for v0.6.0 and untrack docs/
- Add Planner, Composer, Observer, Reflector, Normalizer to agent table
- Document structured state (story/state/*.json), JSON delta, Zod validation
- Document SQLite memory.db, cross-chapter repetition detection
- Document maxTokens cap and extra key stripping
- Untrack docs/plans/ (already in .gitignore)
2026-03-26 12:02:42 +08:00
Ma
c182d0c776 fix: deduplicate chapter summaries on append and bootstrap
- appendChapterSummary: remove existing rows with same chapter number
  before appending, preventing duplicates from interrupted retries
- state-bootstrap: deduplicate parsed markdown rows by chapter number
  (keep last occurrence), preventing validator from rejecting stale data
2026-03-26 12:02:42 +08:00
Ma
c6829f53da test: fix hook ordering assertion in memory retrieval test
Hook selection order is non-deterministic; use sorted comparison.
2026-03-25 17:42:29 +08:00
Ma
9a448dbc5e fix: replan when persisted runtime intent is invalid 2026-03-25 17:35:49 +08:00
Ma
5910a4ded3 fix: harden v2 hook and planner state handling 2026-03-25 16:53:02 +08:00