feat(reference-host): add buyer integration safety fixtures - #381
Draft
seonghobae wants to merge 258 commits into
Draft
feat(reference-host): add buyer integration safety fixtures#381seonghobae wants to merge 258 commits into
seonghobae wants to merge 258 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #377.
Authority and product boundary
Protected
mainis 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.Doclifecycle 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.Doclifecycle 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 queuedsavingpresentation 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
9536306b1258a75415de9e7a8a5616a2e56780d: the shared synchronous-admission contract did not yet exist and exact-head CI failed.da627ef85b78344cbbcfae28f9626af84fe37bef: addedshouldBlockReferenceHostFormMutation(readOnly, isDurableSubmissionInFlight)with presentation state excluded from mutation authority.37cfc42e1ac86576d98d96f970a0ee9bdfd70bca: bound both native submit and reset handlers to the synchronous admission contract.1fb2d317838ff0ed71001d470af650692ebd36b2.Cross-lane Markdown failure: corrected ownership state
Exact-head CI
32864768290is a valid RED reproduction for this reference-host generation: typecheck passed, the native-form tests passed, Office and browser jobs passed, butsrc/referenceHostFrameworkFreePackedBoundary.test.tsfailed because packed/markdownaccessed a poisoned ambientglobalThis.windowaccessor.That defect is not current #176 behavior. Draft #176 remains the sole writer for the public Markdown/serialization boundary and its current exact head
e1345c45ba9bf8e75bdab8ad7f56c7d7437f1470contains the narrow repair. #176 records exact-current GREEN CI32871290927, including successful packed ESM/CJS consumers under the hostile ambient-window regression. Older prose saying #176 still contains the defectivetypeof windowauthority 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:
128a239f8b71ca16add4b9e15e21752d1ad63ff0;1fb2d317838ff0ed71001d470af650692ebd36b2;3b38ead2d00f44eb578d0689087b9293b3dabe1e, 258 ahead / 156 behind; GitHub currently reports this PR non-mergeable;e1345c45ba9bf8e75bdab8ad7f56c7d7437f1470;50ac98cfa0ad9e8dd75f93ca437a5679fed4d804, feat(reference-host): add buyer integration safety fixtures #381 287 ahead / 86 behind;32864768290: completed / failure for the packed Markdown RED above;32864768146: completed / success;32864768158: completed / success;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
act(...)containment: Draft test(react): contain native reset updates inside act #153;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.