Skip to content
Draft
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
8f7ff8b
fix(email-detail): make responsive evidence actions functional
seonghobae Aug 5, 2026
e907955
ci: repair PR 1245 review findings test-first
seonghobae Aug 5, 2026
43d09e7
chore(ci): remove completed PR 1245 repair workflow
seonghobae Aug 5, 2026
abd2967
test(email-detail): stage selected-source writeback regressions
seonghobae Aug 5, 2026
3819eb9
ci: verify PR 1245 selected-source repair
seonghobae Aug 5, 2026
64fd961
fix(ci): target the EmailDetail conflict panel precisely
seonghobae Aug 5, 2026
40d43bc
ci: retry PR 1245 repair with precise panel anchor
seonghobae Aug 5, 2026
400b281
ci: rerun PR 1245 selected-source repair
seonghobae Aug 5, 2026
77b9185
fix(ci): align PR 1245 regressions with explicit confirmation
seonghobae Aug 5, 2026
940cc9a
ci: rerun PR 1245 explicit-confirmation repair
seonghobae Aug 5, 2026
8df011f
fix(ci): repair PR 1245 transformer quoting
seonghobae Aug 5, 2026
4b17725
ci: rerun verified PR 1245 repair
seonghobae Aug 5, 2026
a80c2b5
fix(ci): avoid synchronous effect state resets
seonghobae Aug 5, 2026
7802b51
ci: finalize PR 1245 selected-source repair
seonghobae Aug 5, 2026
a1a6460
chore(pr1245): remove obsolete repair workflow
seonghobae Aug 5, 2026
d750465
chore(pr1245): remove obsolete repair workflow v2
seonghobae Aug 5, 2026
2d15ea4
chore(pr1245): remove obsolete repair workflow v3
seonghobae Aug 5, 2026
b51999d
chore(pr1245): remove obsolete repair workflow v4
seonghobae Aug 5, 2026
7717cec
chore(pr1245): remove completed repair workflow v5
seonghobae Aug 5, 2026
592d91e
chore(pr1245): remove temporary patch transformer
seonghobae Aug 5, 2026
b042b21
chore(pr1245): remove temporary effect lint
seonghobae Aug 5, 2026
d1fa097
chore(pr1245): remove temporary repair patcher
seonghobae Aug 5, 2026
55e4573
chore(pr1245): remove completed repair script
seonghobae Aug 5, 2026
4d5f4e3
test(email-detail): stage selected-source calendar contract
seonghobae Aug 5, 2026
354f6c3
ci(email-detail): verify selected-source repair
seonghobae Aug 5, 2026
15137eb
ci(email-detail): repair deterministic helper state
seonghobae Aug 5, 2026
60e1afc
chore(ci): finalize verified EmailDetail review repair
seonghobae Aug 5, 2026
e48581f
chore(pr): remove completed PR 1245 finalizer
seonghobae Aug 5, 2026
cb5f3e9
chore(pr): remove completed PR 1245 repair workflow
seonghobae Aug 5, 2026
d83a175
chore(pr): remove completed PR 1245 repair helper
seonghobae Aug 5, 2026
e086f75
test(email-detail): require explicit calendar source writeback
seonghobae Aug 6, 2026
70959ee
test(ci): stage bounded PR 1245 calendar source repair
seonghobae Aug 6, 2026
05b9122
ci: verify PR 1245 explicit calendar source boundary
seonghobae Aug 6, 2026
281ef2e
ci: finalize PR 1245 calendar source on reopen
seonghobae Aug 6, 2026
3b21327
fix(ci): enable pnpm after Node setup
seonghobae Aug 6, 2026
4ef7082
fix(ci): make PR 1245 repair indentation-safe
seonghobae Aug 6, 2026
1dcd1b8
ci: bind PR 1245 repair to corrected transformer
seonghobae Aug 6, 2026
c6cb203
fix(ci): target the unique rendered action-item block
seonghobae Aug 6, 2026
8499f3f
fix(ci): normalize PR 1245 render anchors
seonghobae Aug 6, 2026
3fec4e9
ci: repair exact calendar-source panel transform
seonghobae Aug 6, 2026
41e1f92
fix(ci): remove malformed PR 1245 reopen workflow
seonghobae Aug 6, 2026
482725e
fix(ci): retrigger bounded calendar-source repair
seonghobae Aug 6, 2026
f9e7a02
fix(ci): make PR 1245 repair workflow valid YAML
seonghobae Aug 6, 2026
71a96ea
ci: activate pinned pnpm before setup-node caching
seonghobae Aug 6, 2026
67be57e
ci(pr1245): finalize explicit calendar source repair
seonghobae Aug 6, 2026
38d5e77
ci(pr1245): finalize calendar source repair v3
seonghobae Aug 6, 2026
a4f02a9
chore(ci): add fail-closed PR 1245 finalizer
seonghobae Aug 6, 2026
bb8caf6
fix(ci): finalize PR 1245 with fail-closed exact-head verification
seonghobae Aug 6, 2026
f40b377
ci(email-detail): execute fail-closed PR 1245 finalizer
seonghobae Aug 6, 2026
886220d
fix(ci): allow exact-head checkout in PR 1245 finalizer
seonghobae Aug 6, 2026
f430376
fix(ci): enable pnpm before cache initialization
seonghobae Aug 6, 2026
aa5c4b3
fix(ci): make PR 1245 status repair multiplicity explicit
seonghobae Aug 6, 2026
f76e1b2
test(email-detail): require explicit source after shell command
seonghobae Aug 6, 2026
d4574ba
fix(ci): remove invalid superseded PR 1245 workflow
seonghobae Aug 6, 2026
5aae303
test(email-detail): select the rendered writeback action
seonghobae Aug 6, 2026
6b4f2ba
fix(email-detail): key calendar sources to active context
seonghobae Aug 6, 2026
9aaea8e
fix(ci): preserve generated TypeScript indentation
seonghobae Aug 6, 2026
5bf17ff
fix(email-detail): require explicit calendar source
github-actions[bot] Aug 6, 2026
e45fc3b
docs(email-detail): record fail-closed source lifecycle
seonghobae Aug 6, 2026
4a6f339
test(email-detail): cover calendar action disabled states
seonghobae Aug 20, 2026
af81b67
Merge remote-tracking branch 'origin/develop' into HEAD
seonghobae Aug 20, 2026
796b34c
Merge remote-tracking branch 'origin/develop' into fix/pr1245-current
seonghobae Aug 21, 2026
885ee0c
fix: await EmailDetail input updates and retain callback dependencies
seonghobae Sep 6, 2026
38c375e
merge(ui): inherit complete dependency security prerequisite
seonghobae Sep 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 122 additions & 0 deletions .github/workflows/repair-pr1245-selected-source-v2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
name: Repair PR 1245 selected-source writeback v2

on:
push:
branches:
- fix/email-detail-responsive-surface-maintainer
paths:
- .github/workflows/repair-pr1245-selected-source-v2.yml

permissions:
contents: write
Comment thread
github-advanced-security[bot] marked this conversation as resolved.
Fixed

concurrency:
group: repair-pr1245-selected-source-v2
cancel-in-progress: false

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

jobs:
repair:
if: >-
github.repository == 'ContextualWisdomLab/naruon' &&
github.actor != 'github-actions[bot]' &&
github.ref == 'refs/heads/fix/email-detail-responsive-surface-maintainer'
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: Harden runner
uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0
with:
egress-policy: audit

- name: Check out exact trigger
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6
with:
ref: ${{ github.sha }}
fetch-depth: 2
persist-credentials: false

- name: Verify immutable parent and correct transformer
shell: bash --noprofile --norc -e -o pipefail {0}
run: |
test "$(git rev-parse HEAD^)" = "40d43bcdc0f7909b51263f6bcceebdc00672b7f7"
test "$(git rev-parse HEAD)" = "$GITHUB_SHA"
python3 -m py_compile \
scripts/ci/repair_pr1245_review.py \
scripts/ci/patch_pr1245_repair_script.py
python3 scripts/ci/patch_pr1245_repair_script.py
python3 -m py_compile scripts/ci/repair_pr1245_review.py
Comment thread
github-actions[bot] marked this conversation as resolved.
Outdated

- name: Install pnpm
run: corepack enable pnpm

- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: "24"
cache: pnpm
cache-dependency-path: frontend/pnpm-lock.yaml

- name: Install frozen dependencies
run: cd frontend && pnpm install --frozen-lockfile

- name: Preserve failing contracts before production repair
shell: bash --noprofile --norc {0}
run: |
set -euo pipefail
python3 scripts/ci/repair_pr1245_review.py tests
set +e
cd frontend
pnpm exec vitest run src/components/EmailDetail.test.tsx >"${RUNNER_TEMP}/pr1245-red.log" 2>&1
status=$?
set -e
cat "${RUNNER_TEMP}/pr1245-red.log"
test "$status" -ne 0

- name: Apply bounded production and doctoring repair
run: |
python3 scripts/ci/repair_pr1245_review.py production
git diff --check

- name: Run focused and full frontend verification
shell: bash --noprofile --norc -e -o pipefail {0}
run: |
cd frontend
pnpm exec vitest run src/components/EmailDetail.test.tsx
pnpm test
pnpm run typecheck
pnpm run lint
pnpm run coverage

- name: Build production frontend
env:
NEXT_TELEMETRY_DISABLED: "1"
NODE_OPTIONS: "--max-old-space-size=4096"
NEXT_BUILD_CPUS: "2"
POSTCSS_WORKERS: "1"
DISABLE_POSTCSS_WORKERS: "true"
run: cd frontend && pnpm run build

- name: Publish verified repair and remove temporary machinery
env:
PUSH_TOKEN: ${{ github.token }}
shell: bash --noprofile --norc -e -o pipefail {0}
run: |
rm -f \
.github/workflows/repair-pr1245-selected-source.yml \
.github/workflows/repair-pr1245-selected-source-v2.yml \
scripts/ci/repair_pr1245_review.py \
scripts/ci/patch_pr1245_repair_script.py
test ! -e .github/workflows/repair-pr1245-review.yml
git diff --check
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add -A
git diff --cached --quiet && exit 1
git commit -m "fix(email-detail): require selected writeback source"
auth_header="$(printf 'x-access-token:%s' "$PUSH_TOKEN" | base64 | tr -d '\n')"
echo "::add-mask::$auth_header"
git -c http.extraheader="AUTHORIZATION: basic ${auth_header}" \
push origin "HEAD:refs/heads/fix/email-detail-responsive-surface-maintainer"
123 changes: 123 additions & 0 deletions .github/workflows/repair-pr1245-selected-source-v3.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
name: Repair PR 1245 selected-source writeback v3

on:
push:
branches:
- fix/email-detail-responsive-surface-maintainer
paths:
- .github/workflows/repair-pr1245-selected-source-v3.yml

permissions:
contents: write
Comment thread
github-advanced-security[bot] marked this conversation as resolved.
Fixed

concurrency:
group: repair-pr1245-selected-source-v3
cancel-in-progress: false

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

jobs:
repair:
if: >-
github.repository == 'ContextualWisdomLab/naruon' &&
github.actor != 'github-actions[bot]' &&
github.ref == 'refs/heads/fix/email-detail-responsive-surface-maintainer'
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: Harden runner
uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0
with:
egress-policy: audit

- name: Check out exact trigger
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6
with:
ref: ${{ github.sha }}
fetch-depth: 2
persist-credentials: false

- name: Verify exact parent and transformer
shell: bash --noprofile --norc -e -o pipefail {0}
run: |
test "$(git rev-parse HEAD^)" = "77b9185e309fe88bcb76820f7443aee3906e2a3b"
test "$(git rev-parse HEAD)" = "$GITHUB_SHA"
python3 -m py_compile \
scripts/ci/repair_pr1245_review.py \
scripts/ci/patch_pr1245_repair_script.py
python3 scripts/ci/patch_pr1245_repair_script.py
python3 -m py_compile scripts/ci/repair_pr1245_review.py

- name: Install pnpm
run: corepack enable pnpm

- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: "24"
cache: pnpm
cache-dependency-path: frontend/pnpm-lock.yaml

- name: Install frozen dependencies
run: cd frontend && pnpm install --frozen-lockfile

- name: Preserve failing contracts before production repair
shell: bash --noprofile --norc {0}
run: |
set -euo pipefail
python3 scripts/ci/repair_pr1245_review.py tests
set +e
cd frontend
pnpm exec vitest run src/components/EmailDetail.test.tsx >"${RUNNER_TEMP}/pr1245-red.log" 2>&1
status=$?
set -e
cat "${RUNNER_TEMP}/pr1245-red.log"
test "$status" -ne 0

- name: Apply bounded production and doctoring repair
run: |
python3 scripts/ci/repair_pr1245_review.py production
git diff --check

- name: Run focused and full frontend verification
shell: bash --noprofile --norc -e -o pipefail {0}
run: |
cd frontend
pnpm exec vitest run src/components/EmailDetail.test.tsx
pnpm test
pnpm run typecheck
pnpm run lint
pnpm run coverage

- name: Build production frontend
env:
NEXT_TELEMETRY_DISABLED: "1"
NODE_OPTIONS: "--max-old-space-size=4096"
NEXT_BUILD_CPUS: "2"
POSTCSS_WORKERS: "1"
DISABLE_POSTCSS_WORKERS: "true"
run: cd frontend && pnpm run build

- name: Publish verified repair and remove temporary machinery
env:
PUSH_TOKEN: ${{ github.token }}
shell: bash --noprofile --norc -e -o pipefail {0}
run: |
rm -f \
.github/workflows/repair-pr1245-selected-source.yml \
.github/workflows/repair-pr1245-selected-source-v2.yml \
.github/workflows/repair-pr1245-selected-source-v3.yml \
scripts/ci/repair_pr1245_review.py \
scripts/ci/patch_pr1245_repair_script.py
test ! -e .github/workflows/repair-pr1245-review.yml
git diff --check
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add -A
git diff --cached --quiet && exit 1
git commit -m "fix(email-detail): require selected writeback source"
auth_header="$(printf 'x-access-token:%s' "$PUSH_TOKEN" | base64 | tr -d '\n')"
echo "::add-mask::$auth_header"
git -c http.extraheader="AUTHORIZATION: basic ${auth_header}" \
push origin "HEAD:refs/heads/fix/email-detail-responsive-surface-maintainer"
125 changes: 125 additions & 0 deletions .github/workflows/repair-pr1245-selected-source-v4.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
name: Repair PR 1245 selected-source writeback v4

on:
push:
branches:
- fix/email-detail-responsive-surface-maintainer
paths:
- .github/workflows/repair-pr1245-selected-source-v4.yml

permissions:
contents: write
Comment thread
github-advanced-security[bot] marked this conversation as resolved.
Fixed

concurrency:
group: repair-pr1245-selected-source-v4
cancel-in-progress: false

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

jobs:
repair:
if: >-
github.repository == 'ContextualWisdomLab/naruon' &&
github.actor != 'github-actions[bot]' &&
github.ref == 'refs/heads/fix/email-detail-responsive-surface-maintainer'
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: Harden runner
uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0
with:
egress-policy: audit

- name: Check out exact trigger
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6
with:
ref: ${{ github.sha }}
fetch-depth: 2
persist-credentials: false

- name: Verify exact parent and repair transformers
shell: bash --noprofile --norc -e -o pipefail {0}
run: |
test "$(git rev-parse HEAD^)" = "8df011fd0b40ec5246c387a356639a1c28907d57"
test "$(git rev-parse HEAD)" = "$GITHUB_SHA"
python3 -m py_compile scripts/ci/fix_patch_pr1245_patcher.py
python3 scripts/ci/fix_patch_pr1245_patcher.py
python3 -m py_compile scripts/ci/patch_pr1245_repair_script.py
python3 scripts/ci/patch_pr1245_repair_script.py
python3 -m py_compile scripts/ci/repair_pr1245_review.py

- name: Install pnpm
run: corepack enable pnpm

- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: "24"
cache: pnpm
cache-dependency-path: frontend/pnpm-lock.yaml

- name: Install frozen dependencies
run: cd frontend && pnpm install --frozen-lockfile

- name: Preserve failing contracts before production repair
shell: bash --noprofile --norc {0}
run: |
set -euo pipefail
python3 scripts/ci/repair_pr1245_review.py tests
set +e
cd frontend
pnpm exec vitest run src/components/EmailDetail.test.tsx >"${RUNNER_TEMP}/pr1245-red.log" 2>&1
status=$?
set -e
cat "${RUNNER_TEMP}/pr1245-red.log"
test "$status" -ne 0

- name: Apply bounded production and doctoring repair
run: |
python3 scripts/ci/repair_pr1245_review.py production
git diff --check

- name: Run focused and full frontend verification
shell: bash --noprofile --norc -e -o pipefail {0}
run: |
cd frontend
pnpm exec vitest run src/components/EmailDetail.test.tsx
pnpm test
pnpm run typecheck
pnpm run lint
pnpm run coverage

- name: Build production frontend
env:
NEXT_TELEMETRY_DISABLED: "1"
NODE_OPTIONS: "--max-old-space-size=4096"
NEXT_BUILD_CPUS: "2"
POSTCSS_WORKERS: "1"
DISABLE_POSTCSS_WORKERS: "true"
run: cd frontend && pnpm run build

- name: Publish verified repair and remove temporary machinery
env:
PUSH_TOKEN: ${{ github.token }}
shell: bash --noprofile --norc -e -o pipefail {0}
run: |
rm -f \
.github/workflows/repair-pr1245-selected-source.yml \
.github/workflows/repair-pr1245-selected-source-v2.yml \
.github/workflows/repair-pr1245-selected-source-v3.yml \
.github/workflows/repair-pr1245-selected-source-v4.yml \
scripts/ci/repair_pr1245_review.py \
scripts/ci/patch_pr1245_repair_script.py \
scripts/ci/fix_patch_pr1245_patcher.py
test ! -e .github/workflows/repair-pr1245-review.yml
git diff --check
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add -A
git diff --cached --quiet && exit 1
git commit -m "fix(email-detail): require selected writeback source"
auth_header="$(printf 'x-access-token:%s' "$PUSH_TOKEN" | base64 | tr -d '\n')"
echo "::add-mask::$auth_header"
git -c http.extraheader="AUTHORIZATION: basic ${auth_header}" \
push origin "HEAD:refs/heads/fix/email-detail-responsive-surface-maintainer"
Loading
Loading