confluence-mdx: reverse-sync batch 결과 계약을 명시합니다 - #1035
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Jul 24, 2026
jk-kim0
force-pushed
the
jk/feat-reverse-sync-explicit-manifest
branch
from
July 27, 2026 06:13
c88e4a9 to
56d30a6
Compare
jk-kim0
force-pushed
the
jk/feat-reverse-sync-batch-report
branch
from
July 27, 2026 06:13
39c850e to
bb39ed5
Compare
jk-kim0
force-pushed
the
jk/feat-reverse-sync-explicit-manifest
branch
from
July 27, 2026 07:08
56d30a6 to
9a8fca6
Compare
branch batch JSON을 versioned report로 바꾸고 page별 stable status, partial success, exit code를 함께 기록합니다. postcondition 실패 뒤 미시도 manifest를 명시해 안전하게 재개할 수 있도록 합니다. Co-Authored-By: Codex <noreply@openai.com>
jk-kim0
force-pushed
the
jk/feat-reverse-sync-batch-report
branch
from
July 27, 2026 07:11
bb39ed5 to
b8d5206
Compare
jk-kim0
added a commit
that referenced
this pull request
Jul 27, 2026
## Summary legacy patch builder가 operation 생성 전에 skip한 table/macro 변경도 typed PatchPlan의 stable capability contract로 정규화합니다. - `unsafe_html_table_edit`, `raw_html_table`, `not_markdown_table`을 `unsupported_capability` + `raw_html_table_edit`로 변환합니다. - `preserved_anchor_table`을 `unsupported_capability` + `unknown_macro_mutation`으로 변환합니다. - `no_mapping`, `missing_roundtrip_sidecar`를 strict plan의 `missing_identity`로 변환합니다. - legacy skip의 block ID를 exact sidecar provenance 또는 legacy MDX-sidecar 진단 mapping으로 원래 `ChangeIntent`에 연결합니다. - operation target identity가 없는 경우에도 issue를 intent에 연결하되 operation 실행 provenance에는 legacy fallback을 사용하지 않습니다. - 이미 issue가 연결된 intent에 후속 generic `missing_identity`를 중복 생성하지 않습니다. ## OpenSpec - 기준 change: `openspec/changes/complete-reverse-sync` - 완료: unsupported table/macro 구조의 explicit block reason 전환 - 계속 남는 범위: capability별 renderer strategy 추출, provenance-first planner 전환, visible segment model 확장 ## Safety impact - push 결과와 자동화가 legacy 내부 분기명에 의존하지 않고 stable reason/capability ID를 사용할 수 있습니다. - 하나의 unsupported 변경이 여러 issue로 보이는 진단 중복을 제거합니다. - raw table/macro 변경은 계속 fail-closed이며 이 PR에서 새 capability를 실행 가능하게 만들지 않습니다. - legacy mapping은 issue attribution에만 사용하며 executable target identity gate를 우회하지 않습니다. ## Test plan - [x] 전체 Python test: 1114 passed, 2 skipped - [x] reverse-sync Python test: 791 passed - [x] `make test-convert`: 21 passed - [x] `make test-reverse-sync`: golden 16 passed, regression 43 passed - [x] `make test-byte-verify`: fast/splice 각각 21/21 passed - [x] `openspec validate complete-reverse-sync --strict` - [x] `git diff --check` - [x] Python `compileall` ## Stack - Base: #1035 - Explicit manifest publish: #1034 - Typed plan: #1033 - Strict provenance identity: #1032 - Input/dependency gates: #1031 - Strict proof: #1030 - Publisher foundation: #1029 - 선행 PR merge 후 base를 순차적으로 `main`으로 변경할 수 있습니다. 🤖 Generated with Codex Co-Authored-By: Atlas <atlas@jk.agent> Co-authored-by: Codex <noreply@openai.com>
jk-kim0
added a commit
that referenced
this pull request
Jul 27, 2026
## Summary repository의 reverse-sync skill과 CLI help를 현재 offline diagnostic / online manifest publish lifecycle에 맞춥니다. - offline `verify`/`debug`가 diagnostic이며 `push_eligible=false`임을 명확히 합니다. - `push --dry-run`, inline publish, explicit `push --manifest`의 차이를 설명합니다. - immutable run artifact, manifest integrity, preflight, postcondition, `--yes` 경계를 문서화합니다. - batch schema v1의 partial success, exit code, `not_attempted`, `resume_manifests`를 추가합니다. - 지원 상태와 stable reason code, canary 이전 production batch 금지를 반영합니다. - 존재하지 않는 `var/pages.yaml`과 `--xhtml` 안내를 현재 `pages.qm.yaml`, `--page-id`, `--page-dir`로 수정합니다. - branch mode에서 이전에는 조용히 무시되던 `--page-id`와 `--page-dir`를 fail-fast로 거부합니다. ## OpenSpec - 기준 change: `openspec/changes/complete-reverse-sync` - 완료: `.agents/skills/reverse-sync/SKILL.md`의 current lifecycle/artifact 경로 동기화 - accepted spec 승격과 historical plan archive는 canary/P1 완료 후 별도로 남습니다. ## Safety impact - offline `pass`를 publish 가능한 proof로 오해하지 않도록 합니다. - flat compatibility artifact를 publisher 입력으로 안내하지 않습니다. - `--yes`가 safety gate를 우회한다는 오해를 막습니다. - branch에서 적용되지 않는 page option을 성공한 것처럼 보이지 않고 실행 전에 차단합니다. ## Test plan - [x] 전체 Python test: 1117 passed, 2 skipped - [x] reverse-sync Python test: 794 passed - [x] `make test-reverse-sync`: golden 16 passed, regression 43 passed - [x] `openspec validate complete-reverse-sync --strict` - [x] stale `pages.yaml`/`--xhtml` reference search - [x] `git diff --check` - [x] Python `compileall` ## Stack - Base: #1036 - Batch report: #1035 - Explicit manifest publish: #1034 - Typed plan: #1033 - Strict provenance identity: #1032 - Input/dependency gates: #1031 - Strict proof: #1030 - Publisher foundation: #1029 - 선행 PR merge 후 base를 순차적으로 `main`으로 변경할 수 있습니다. 🤖 Generated with Codex Co-Authored-By: Atlas <atlas@jk.agent> Co-authored-by: Codex <noreply@openai.com>
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.
Summary
reverse-sync branch batch의 page별 결과와 전체 partial success를 자동화 도구가 안정적으로 판별할 수 있는 versioned report로 만듭니다.
BatchReport와reverse-sync-batch-reportschema v1을 추가합니다.--json출력이 raw array 대신 command, branch, outcome, exit code, summary, page별 result를 가진 object를 반환합니다.batch_status와 reason code로 정규화합니다.partial_success, 실패만 있으면failed, 전부 통과하면success로 분류합니다.not_attempted로 표시하고resume_manifests에 explicit manifest 경로를 기록합니다.REMOTE VERIFIED,ALREADY APPLIED,NOT ATTEMPTED와 overall batch outcome을 구분합니다.OpenSpec
openspec/changes/complete-reverse-syncSafety impact
verified_local성공으로 오인하지 않습니다.--yes와 사용자 cancellation은 local proof/preflight/postcondition gate 의미를 바꾸지 않습니다.Test plan
make test-convert: 21 passedmake test-reverse-sync: golden 16 passed, regression 43 passedmake test-byte-verify: fast/splice 각각 21/21 passedopenspec validate complete-reverse-sync --strictgit diff --checkcompileallStack
main으로 변경할 수 있습니다.🤖 Generated with Codex
Co-Authored-By: Atlas atlas@jk.agent