Skip to content

docs: 워크로그 «의무화» 결정 + 형식 잠금을 로컬 DoD 4번째 명령으로 [rustjava-worklog-mandate-decision-and-local-gate] - #20

Merged
Jun025 merged 2 commits into
mainfrom
feat/rustjava-worklog-mandate-and-local-gate
Sep 3, 2026
Merged

docs: 워크로그 «의무화» 결정 + 형식 잠금을 로컬 DoD 4번째 명령으로 [rustjava-worklog-mandate-decision-and-local-gate]#20
Jun025 merged 2 commits into
mainfrom
feat/rustjava-worklog-mandate-and-local-gate

Conversation

@Jun025

Copy link
Copy Markdown
Owner

운영자 채택 제안 2건(2026-08-26-worklog-json-proposals-convention#p0·#p1)을 한 회차로 처리했다.
코드(.rs) 변경 0 · 새 도구 0 · CI 워크플로 무접촉.

#p0 — 결정: 의무화한다. ★먼저 쟀다

측정 창 = 규약 자신이 착지한 b3a4cf4(2026-08-26 11:57 KST · PR #15) 이후origin/main 착지 회차 전건:

착지 커밋회차worklog 쌍
11ef501S2 (#13)✗ 0
4bb796dS3 (#16)✓ 2
3a59776S4 (#17)✓ 2
8c1238b계보 기록 (#18)✓ 2

4회차 중 3건 = 75%. ★유일한 미작성 11ef501부모가 정확히 b3a4cf4 다 —
규약보다 먼저 갈라진 브랜치라 알 수 없었다 ⇒ ★알 수 있었던 회차만 세면 3/3.
★(머지커밋 8c1238bgit show --name-only 로는 0 으로 보인다 — <c>^1..<c> 로 재야 2 다.)

★관측이 높은데도 의무화한 이유 — 한 줄

★★실패가 «조용하고 잠글 수 없다».check-worklog-json.py존재하는 .json 검사한다
(규약 비소급 설계). ⇒ 아예 안 쓴 회차는 ★어디서도 red 가 안 나고 카드만 0 이다.
표본은 3건 · 전건 같은 리니지(upstream-sync)라 소형 회차 관측이 0 이다.
대가 DoD 1줄로 무방비한 침묵을 닫았다. 「현상 유지」와 「REPORT.md 파싱 자동 생성」(= 이 리니지가
반복 기각한 «파서 제2원본»)은 기각했다.

★★되돌릴 «수» — AGENTS.md측정 명령과 함께 박았다

2026-09-04 이후 10회차 착지 시점 재측정. 취향으로 재론하지 말고 다시 재라는 뜻이다:

  • 미작성 회차 ≥ 2 (>20%) ⇒ 문안을 빼거나 기계 강제로 올려라.
    문서에만 둔 채 유지하지 마라 — 규칙은 있고 효력은 없는 상태가 가장 나쁘다.
  • 열린 카드 < 5(★오늘 기준선 = proposals 9 − 처분 4 = 5) ⇒ 의무 자체를 재검토.

#p1 — 잠금을 로컬 DoD 안으로

어디서만 돌았나(실측): .github/workflows/rust.yml:59-63worklog_json job(ubuntu 1러너) 단 1곳.
rust_ci 6셀 매트릭스에도, 로컬 DoD 3명령(cargo fmt --check·clippy·test)에도 없었다
⇒ 틀린 파일은 PR 을 열어야 빨개졌다.

-- `cargo fmt --check` · `cargo clippy` · `cargo test` 전부 green(명령 상세 = `AGENTS.md`).+- `cargo fmt --check` · `cargo clippy` · `cargo test` · `python3 scripts/check-worklog-json.py`+ 전부 green(명령 상세 = `AGENTS.md`).

cargo test «안»으로 안 넣었다 — 「오탐 0」이 절대 조건이라서

경로기각 사유
serde_json dev-dep + Rust 테스트serde_jsonCargo.lock 에 없다(실측) ⇒ 새 의존성 + 6셀 매트릭스 빌드. ★스크립트 docstring 이 이미 같은 이유로 기각한 길이고 Non-goal 「새 도구 0」과도 어긋난다.
Rust 테스트가 python3 shell-out오탐 — python3 없는 머신에서 cargo testred. 「기존 검사가 새로 red 가 되지 않는다」 위반.

⇒ ★3명령은 한 글자도 안 건드렸다 — 기존 검사의 오탐 위험은 구조적으로 0(새 실패 모드는 4번째 명령에만 붙는다).

오탐 0 실증 — ★변경 «적용 후» 4명령 전건 rc=0

명령rcⓐ재컴파일ⓑ완전 캐시
cargo fmt --all -- --check01.1s0.56s
cargo clippy --all -- -D warnings011.5s0.39s
cargo test --all047.6s8.41s
python3 scripts/check-worklog-json.py00.04s
3명령 합계60.2s9.36s

대가 (초) — ★**「0」이라고 쓰지 않았고, 분모를 둘 다 적었다**

잠금 단독 5회: 0.10 · 0.04 · 0.13 · 0.13 · 0.08중앙값 0.10s · 최대 0.13s.
재컴파일 회차 대비 +0.17% · ★완전 캐시 회차 대비 +1.1%최악 약 1%.
★시간 말고 진짜 대가는 **「사람이 기억해야 하는 줄」**이다(제안 ⑵ 자신이 적은 것) — 줄이지 못하고 그대로 치렀다.

경계

CI 워크플로 무접촉(새 워크플로 0) · 새 도구 0 · 소급 backfill 0 · 워크로그 본문 작성 0 ·
머지 0 · force-push 0 · 리베이스 0 · base main(★스택 아님) · upstream 발신 0 ·
grep0(문서에 넣은 스니펫도 /usr/bin/grep).

고지: 열린 PR #19REPORT.md·STATE.md상단이 겹친다(둘 다 머리에 append) —
나중에 착지하는 쪽이 인접 충돌한다. 게이트③이 순서를 정할 때 알고 있어야 한다.

jun0 added 2 commits September 4, 2026 00:12
운영자 채택 제안 2건(2026-08-26-worklog-json-proposals-convention#p0·#p1)을 한 회차로 처리했다.
코드(.rs) 변경 0 · 새 도구 0 · CI 워크플로 무접촉.
#p0 결정 = 의무화한다. 먼저 쟀다 — 규약 착지(b3a4cf4 · 2026-08-26) 이후 착지 4회차 중
3건(75%)이 쌍을 남겼고, 유일한 미작성(PR #13)은 부모가 정확히 b3a4cf4 라 규약을 알 수
없었던 회차다(알 수 있었던 회차만 3/3). 관측이 높은데도 의무화한 이유는 실패가 조용하고
잠글 수 없기 때문이다 — 잠금은 존재하는 .json 만 검사하므로(비소급 설계) 아예 안 쓴 회차는
red 0 · 카드만 0 이다. 표본 3건 · 전건 같은 리니지.
되돌릴 수를 AGENTS.md 에 측정 명령과 함께 박았다(10회차 착지 시점 재측정 · 미작성 ≥2 면
문안을 빼거나 기계 강제로 · 열린 카드 <5 면 의무 재검토 · 오늘 기준선 5).
#p1 = 잠금이 rust.yml:63 worklog_json job 한 곳에서만 돌았다. CLAUDE.md DoD green 줄에
4번째 명령으로 붙였다. cargo test 안으로 넣는 두 경로는 기각 — serde_json 은 Cargo.lock 에
부재(새 의존성 + 6셀 빌드), python3 shell-out 은 python 없는 머신에서 오탐 red.
3명령은 한 글자도 안 건드렸다 ⇒ 기존 검사 오탐 위험 구조적으로 0.
대가: 잠금 중앙값 0.10s = 재컴파일 회차 +0.17% · 완전 캐시 회차 +1.1%(최악 약 1%).
…decision-and-local-gate]
STATE.md 진행중 → 완료(게이트③ PR #20 · --merge 착지 · squash 금지 사유 명기) +
worklog .json 에 게이트③ 집행 1줄. 코드 변경 0.
@Jun025
Jun025 merged commit a71676e into mainSep 3, 2026
9 checks passed
@Jun025
Jun025 deleted the feat/rustjava-worklog-mandate-and-local-gate branch September 3, 2026 16:24
Jun025 pushed a commit that referenced this pull request Sep 3, 2026
…ure-s5-s7-and-lock-restore-basis]
PR #20 이 먼저 착지해 REPORT.md·STATE.md 머리에서 위치 충돌이 났다(코드 파일 충돌 0).
- REPORT.md: 서로 «다른» 회차의 절 둘 ⇒ 합집합 · 시간순(09-04 → 09-03). 삭제 0줄.
- STATE.md: «같은» 항목(s5-s7)의 상세판 vs 요약판이라 상세판을 남기고 요약판 고유 토큰
«PR #19» 를 흡수. 항목 id 집합 소실 0(양방향). main 의 완료 항목은 그대로 보존.
해소면 밖 변경 0 — docs/upstream-sync-approach.md 와 2026-09-03 워크로그 쌍은 승인 형상과 바이트 동일.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Jun025