Skip to content

Re-frame PR #96 (r-word-builder-mvp) as Layer 4 caller per ooxml-edit-isomorphism-foundation ADR-009 #103

Description

@kiki830621

Problem

PR #96 (Codex-generated Spectra proposal for R package generating WordBuilderSwift scripts) is currently blocked pending revision — 2 CRITICAL + 10 HIGH findings surfaced by 6-AI verify report at #96 (comment).

Per ooxml-edit-isomorphism-foundation ADR-009, this PR should be reframed as a Layer 4 (caller) consumer of the architectural foundation. Critically, the CRITICAL findings (R→Swift code injection unaddressed, retained .swift portability) are naturally resolved by routing through the safe WordEdit API surface instead of raw Swift code generation.

Type

refactor (proposal alignment + security improvement)

Context

ADR-009 in ooxml-edit-isomorphism-foundation design.md (cluster branch idd/chain-99-feat-architecture-radical-translation-oo):

#88 R-wordbuilder → Layer 4 (caller); R generates .swift that uses WordEdit

Expected

PR #96 (or its successor) reframes to:

  • Generate WordEdit invocations instead of raw struct-serialization Swift code
  • Code-injection vector eliminated by safe WordEdit API (typed values, no string interpolation into Swift source)
  • Retained .swift portability addressed by canonical WordEdit serialization (no absolute paths in generated code — abstract paths via R fs::path() resolved at swift run time)

Strategy

Related

Refs #99 #88

Key Decisions

Scope Changes

  • No code changes. Pure tracker-cleanup.

Blocking

Commits

  • (none for this issue yet)

Current Status

Phase: closed
Last updated: 2026-06-12 by /idd-close (closing summary: #103 (comment))

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions