Skip to content

docs: complete issue #99 phase 4 canonical usage docs#106

Merged
harumiWeb merged 2 commits intomainfrom
feat/issue99-phase4
Mar 18, 2026
Merged

docs: complete issue #99 phase 4 canonical usage docs#106
harumiWeb merged 2 commits intomainfrom
feat/issue99-phase4

Conversation

@harumiWeb
Copy link
Owner

@harumiWeb harumiWeb commented Mar 18, 2026

Summary

Acceptance Criteria (MCP UX Hardening)

  • AC-01: Not applicable to this docs-only PR; no MCP input compatibility behavior changed.
  • AC-02: Not applicable to this docs-only PR; no color parsing behavior changed.
  • AC-03: Not applicable to this docs-only PR; no color/fill contract changed.
  • AC-04: Not applicable to this docs-only PR; no patch-op shorthand behavior changed.
  • AC-05: Not applicable to this docs-only PR; no path UX behavior changed.
  • AC-06: Existing runtime behavior remains unchanged; this PR only corrects docs and guidance.

Validation

  • uv run task build-docs
  • uv run task precommit-run
  • Added/updated tests for changed behavior.
    Docs-only change; no runtime behavior changed, so no new tests were needed.
  • Updated docs (docs/mcp.md, docs/README.ja.md, release notes).
    Updated README.md, README.ja.md, docs/api.md, docs/cli.md, docs/mcp.md, and internal task/spec docs. Release notes were not changed because there is no shipped runtime change.

Notes

  • docs-only change; no runtime code or test behavior changed
  • follow-up commit 4e4ca8d addresses the Codacy warning and the PR review wording issues

Summary by CodeRabbit

  • Documentation
    • Rewrote and expanded docs (including Japanese README) to present both data extraction and patch-based editing
    • Added a "Choose an Interface" table and guidance for CLI, Python editing, local agent, and host-managed MCP usage
    • Introduced "Quick Start Python Extraction" with examples and per-instance engine configuration
    • Designated the editing CLI as the canonical edit workflow and documented dry-run → inspect → apply patch flow
    • Expanded MCP positioning, backend capability guidance, safe-fallback notes, and migration recommendations

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 18, 2026

📝 Walkthrough

Walkthrough

Documentation refactor repositioning ExStruct from extraction-centric to a dual-capability platform emphasizing patch-based editing workflows, interface selection guidance, canonical dry-run → inspect → apply flow, MCP positioning, and updated Quick Start examples for Python extraction and engine configuration. (≤50 words)

Changes

Cohort / File(s) Summary
README files
README.md, README.ja.md
Rewrote introductions to emphasize patch-based editing and interface choices; added "Choose an Interface" guidance, dry-run/patch workflow, MCP positioning, safe-fallback/backends notes, and new Quick Start Python Extraction examples.
Developer specs
dev-docs/specs/editing-api.md, dev-docs/specs/editing-cli.md
Inserted "canonical usage documentation obligations" and clarified host-only responsibilities; documented the CLI as canonical editing surface and recommended dry_run → inspect → apply workflow.
Public docs & CLI
docs/api.md, docs/cli.md, docs/index.md
Expanded Editing API guidance, backend capability table, known editing limits, and workflow recommendations; updated CLI docs to favor JSON-first editing for automation and clarified backend/MCP usage; revised site index and quick links.
MCP guidance
docs/mcp.md
Added MCP positioning section, migration notes advising CLI for local workflows, clarified edit flow to emphasize dry-run-first and backend selection, and harmonized terminology (exstruct.edit as shared contract).
Tasks & governance
tasks/feature_spec.md, tasks/lessons.md, tasks/todo.md
Added phase-4 canonical usage documentation sections, review/follow-up notes, planning blocks, and lessons; mostly planning and governance documentation additions (some duplicated blocks).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐇 I hopped through docs in morning light,

JSON patches snug and bright,
Dry-run first, then peek and mend,
CLI, MCP, or Python friend,
A rabbit's cheer for clearer sight.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: completing issue #99 phase 4 by updating canonical usage documentation for workbook editing. It is specific, concise, and directly related to the changeset.
Description check ✅ Passed The PR description is largely complete with a clear summary linking to issue #99, all acceptance criteria addressed (marked as N/A with justification for a docs-only PR), and validation steps documented. However, the description uses a custom format that deviates from the repository's template structure.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/issue99-phase4
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

chatgpt-codex-connector[bot]

This comment was marked as resolved.

Copy link

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 2 additional findings.

Open in Devin Review

coderabbitai[bot]

This comment was marked as resolved.

@harumiWeb
Copy link
Owner Author

Addressed the Codacy warning and review wording issues in 4e4ca8d.

  • made the API TOC/model-helper heading URL-safe to avoid the MD051 fragment warning
  • qualified dry-run guidance across README / API / CLI / MCP docs for backend="auto" engine switching
  • corrected the CLI docs so PatchResult.error failures and pre-execution stderr failures are described separately

Validation rerun:

  • uv run task build-docs
  • uv run task precommit-run

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
README.md (1)

48-49: Prefer fully qualified command names in mixed command lists.

For copy/paste clarity, consider using exstruct make, exstruct ops, and exstruct validate explicitly wherever exstruct patch is already fully qualified.

✏️ Suggested doc tweak
-| Run local operator or AI-agent edit workflows | `exstruct patch`, `make`, `ops`, `validate` | Canonical operational interface; JSON-first and dry-run friendly. |
+| Run local operator or AI-agent edit workflows | `exstruct patch`, `exstruct make`, `exstruct ops`, `exstruct validate` | Canonical operational interface; JSON-first and dry-run friendly. |

-If you previously used `exstruct_patch` / `exstruct_make` only because editing
-was MCP-first, migrate new local workflows to `exstruct patch` or
-`exstruct make` unless you specifically need MCP host controls or the shared
+If you previously used `exstruct_patch` / `exstruct_make` only because editing
+was MCP-first, migrate new local workflows to `exstruct patch` / `exstruct make`
+unless you specifically need MCP host controls or the shared
 patch contract inside Python.

Also applies to: 145-147

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` around lines 48 - 49, Update the mixed command list entries so all
commands are fully qualified: replace the short forms `make`, `ops`, and
`validate` in the table row that currently shows `exstruct patch`, `make`,
`ops`, `validate` with `exstruct make`, `exstruct ops`, and `exstruct validate`
respectively; apply the same change to the other occurrence noted (the row
around the other mention of `exstruct-mcp` / MCP tools) so every command in
mixed lists is explicitly prefixed with `exstruct` for copy/paste clarity.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/cli.md`:
- Around line 40-43: Update the wording for the `patch` (and `make`) description
to clarify that JSON is emitted only after parsing and execution have
successfully completed and returned a payload; replace “once request parsing and
execution begin” with phrasing such as “after successful parsing and execution
complete and return a payload,” and keep the note that invalid JSON, validation
failures, and runtime errors are printed to stderr and exit 1 before any JSON is
produced.

---

Nitpick comments:
In `@README.md`:
- Around line 48-49: Update the mixed command list entries so all commands are
fully qualified: replace the short forms `make`, `ops`, and `validate` in the
table row that currently shows `exstruct patch`, `make`, `ops`, `validate` with
`exstruct make`, `exstruct ops`, and `exstruct validate` respectively; apply the
same change to the other occurrence noted (the row around the other mention of
`exstruct-mcp` / MCP tools) so every command in mixed lists is explicitly
prefixed with `exstruct` for copy/paste clarity.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9629780e-ad99-4cde-8a1f-41f241edda03

📥 Commits

Reviewing files that changed from the base of the PR and between e523a87 and 4e4ca8d.

📒 Files selected for processing (9)
  • README.ja.md
  • README.md
  • dev-docs/specs/editing-cli.md
  • docs/api.md
  • docs/cli.md
  • docs/mcp.md
  • tasks/feature_spec.md
  • tasks/lessons.md
  • tasks/todo.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/api.md
  • tasks/todo.md

@harumiWeb harumiWeb merged commit 4bc2c9e into main Mar 18, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant