Generate styled Word deliverables and pin artifact cards in chat #31

Merged
weichen merged 1 commits from feature/deliverable-docx-r1 into main 2026-10-01 02:49:55 +00:00
Owner

task feature/deliverable-docx-r1 (backend half): docgen markdown→styled OOXML, write_docx tool, artifact_ref pinned as content after final text, prompt routing. go test ./... 19 pkgs ok.

task feature/deliverable-docx-r1 (backend half): docgen markdown→styled OOXML, write_docx tool, artifact_ref pinned as content after final text, prompt routing. go test ./... 19 pkgs ok.
weichen added 1 commit 2026-10-01 02:49:42 +00:00
Why: docx deliverables were plain text saved with a .docx name (no
headings/tables/styles), and the artifact_ref part was marked Process
so the deliverable vanished into the collapsed process section — the
user saw only model-written text like "📄 xxx.docx 工件 ID …" instead
of an openable, formatted document delivered in the conversation.

Evidence:
- new internal/docgen: Markdown -> styled OOXML (Title/Heading1-4,
  numbered+bullet lists with numbering.xml, GFM tables with shaded
  header, quotes, code blocks, bold/italic/strike, real hyperlinks);
  zero third-party deps; tests cover zip structure, XML well-formedness,
  numbering refs, hyperlink rels, escaping, plain-text fallback
- ingest round-trip test proves generated docx parses back to blocks
- new write_docx builtin tool (markdown in -> styled .docx artifact);
  write_artifact prompt now routes Word docs to it; task.doc-minutes
  output contract requires write_docx delivery
- llm.go: artifact refs collected as deliverables and appended as
  content parts AFTER the final text (pinned tail, not process); mock
  #dogfood path generates a real styled docx; runmgr skips string
  indexing for binary office mimes
- go test ./... 19 packages ok (incl. new e2e asserting <w:tbl> and
  title text inside the artifact served by the API)

Impact: model-written documents open in Word/WPS with real layout and
preview with formatting (mammoth maps Heading1-4 to h1-h4); every tool
artifact now lands as a visible in-chat card; no behavior change for
text artifacts.

Refs: task feature/deliverable-docx-r1
weichen merged commit 8550bb0bd2 into main 2026-10-01 02:49:55 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: weichen/Agent-System-Backend#31