Skip to content

feat(reference-host): add buyer integration safety fixtures - #381

Draft
seonghobae wants to merge 258 commits into
mainfrom
feat/reference-host-377
Draft

feat(reference-host): add buyer integration safety fixtures#381
seonghobae wants to merge 258 commits into
mainfrom
feat/reference-host-377

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Refs #377.

Authority and product boundary

Protected main is the only shipped-source authority. This Draft is the existing Inkspan writer for the reference-host buyer journey; live head/base/ancestry/review/check state must be refetched before every lifecycle action rather than copied from older snapshots.

Inkspan remains standalone and provider-neutral. Hosts own transport, authentication, authorization, tenancy, durable persistence, credentials, retention, deployment, durable audit, collaboration-provider / Y.Doc lifecycle policy, model policy, and durable PDF/export authority. The package requires no service, database, network, credential, or model; model/proposal output remains untrusted data.

Implemented active-PR scope

This lane covers host-owned strong-validator persistence/recovery, revision-gated delayed proposals, autosave lifecycle projection, host-created Y.Doc lifecycle and provider replacement/teardown, per-provider-generation host authorization placement, public CSS/font entrypoints, native-form serialization/reset/submission, a deterministic server-safe application shell plus narrow client hydration boundary, read-only/narrow-viewport/print/forced-colors browser journeys, exact-packed package consumption, and a bounded exact-packed Markdown-to-DOCX acquisition journey.

The native-form boundary exposes one synchronous durable-submission admission predicate, shouldBlockReferenceHostFormMutation(), and binds both submit and reset handlers to that predicate rather than deferred React presentation state. The same-turn regression starts an authorized durable submission, proves the synchronous single-flight gate is already acquired while the queued saving presentation commit has not run, and proves a form mutation is rejected in that interval. Read-only remains an independent fail-closed host policy input.

Same-turn native-form TDD lineage

  • RED 9536306b1258a75415de9e7a8a5616a2e56780d: the shared synchronous-admission contract did not yet exist and exact-head CI failed.
  • GREEN da627ef85b78344cbbcfae28f9626af84fe37bef: added shouldBlockReferenceHostFormMutation(readOnly, isDurableSubmissionInFlight) with presentation state excluded from mutation authority.
  • Integration 37cfc42e1ac86576d98d96f970a0ee9bdfd70bca: bound both native submit and reset handlers to the synchronous admission contract.
  • Current exact branch head at the latest pre-write refetch remains 1fb2d317838ff0ed71001d470af650692ebd36b2.

Cross-lane Markdown failure: corrected ownership state

Exact-head CI 32864768290 is a valid RED reproduction for this reference-host generation: typecheck passed, the native-form tests passed, Office and browser jobs passed, but src/referenceHostFrameworkFreePackedBoundary.test.ts failed because packed /markdown accessed a poisoned ambient globalThis.window accessor.

That defect is not current #176 behavior. Draft #176 remains the sole writer for the public Markdown/serialization boundary and its current exact head e1345c45ba9bf8e75bdab8ad7f56c7d7437f1470 contains the narrow repair. #176 records exact-current GREEN CI 32871290927, including successful packed ESM/CJS consumers under the hostile ambient-window regression. Older prose saying #176 still contains the defective typeof window authority probe is superseded.

#381 must therefore inherit/reconcile the existing #176 repair and revalidate it; it must not implement a competing Markdown fix.

Fresh exact state at this convergence

Immediately before this PR-state correction:

These mutable values are an operational snapshot only. Pending, queued, skipped-required, cancelled, absent, neutral, failed, stale, predecessor, status-only, model-only, wrong-checkout, synthetic-merge, or vacuous evidence is non-passing.

Reconciliation failure contract

The first causal product defect reproduced by #381 is already repaired at its owning #176 boundary. The remaining blocker is integration topology: both long-lived branches have diverged substantially and #381 also conflicts with current protected main. A stale GitHub synthetic merge tree from an earlier protected tip is not valid evidence for the current tip.

The presently exposed GitHub mutation surface has no safe high-level update-branch operation and no freshly resolved conflict-free merge tree for the current #381/#176/current-main combination. Therefore the exact source-reconciliation mutation is TOOL_UNAVAILABLE until a supported merge/update operation or trusted current merge tree is available. Do not emulate it by force-moving refs, destructive rebase, guessed tree construction, or copying the #176 fix into this competing writer. This classification applies only to that exact mutation; independent path-disjoint Inkspan work should continue.

Existing owner lanes, not duplicated here

Remaining #377 acceptance

This PR remains partial buyer-journey evidence, not final #377 clean-checkout acceptance. After safe dependency/source reconciliation it must regenerate exact-current-head repository and central evidence and complete the supported reference application journey, including clean packed-artifact installation, SSR/hydration, native form, autosave success/conflict/ambiguous failure, host-owned collaboration lifecycle, read-only, stale proposal handling, browser/accessibility journeys, and deterministic Office/converter handoff.

Keep this PR Draft. Do not tag, release, mark Ready, merge, self-approve, transfer predecessor evidence, weaken gates, force-push/destructively rebase, bypass governance, or represent this Draft as integrated protected-main truth.

@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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.

@seonghobae seonghobae changed the title feat(reference-host): add strong-validator persistence fixture feat(reference-host): add buyer integration safety fixtures Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: medium Normal-priority or P2 work status: draft Draft pull request type: test Test coverage, fixtures, fuzzing, or validation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant