fix: preserve numeric zero values through work-item normalization - #610
fix: preserve numeric zero values through work-item normalization#610seonghobae wants to merge 32 commits into
Conversation
📝 WalkthroughWalkthrough
Changes숫자 0 값 보존
Estimated code review effort: 3 (Moderate) | ~25 minutes Merge Risk: 🔵 Low · up to The numeric normalization change is localized and preserves zero values for the intended planning fields, but the synchronization regression path can start before persisted work items render and may falsely validate an empty file. The PR is mergeable with owner awareness and a deterministic wait in the test setup. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 8 functions across 2 files. (2 skipped: 2 unsupported.)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
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. Comment |
|
@jules Continue this existing repair branch; do not create a competing PR or touch unrelated lanes. Fresh serialization point: exact current head is Please make the smallest root-cause fix on THIS branch and preserve the RED regression:
Acceptance evidence: the existing edit → save → reopen Playwright regression must pass for each field independently and all three together; run the focused regression and then the project’s applicable full deterministic tests if available. Report exact changed paths and exact test commands/results on the PR. Keep the change bounded to #609. |
|
@coderabbitai autofix |
Fixes Applied SuccessfullyFixed 1 file(s) based on 1 unresolved review comment. Files modified:
Commit: The changes have been pushed to the Time taken: |
Fixed 1 file(s) based on 1 unresolved review comment. Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
|
@opencode-agent review Review-only request for exact head |
|
@opencode-agent review Review-only request for exact current contributor head |
|
@opencode-agent review Please review exact current head |
|
@opencode-agent review Review-only request for exact current head |
|
Correction: the protected base SHA is |
|
@opencode-agent review\n\nAuthoritative correction: review only exact head 4c965cb against protected develop@2c328875e00e86537df3e965170be80532571cad. Verify numeric-zero preservation for budget, actualCost, and storyPoints across editor, draft/external normalization, local persistence, connected wbs.json, and CSV, while unrelated falsy fields keep prior semantics. Verify the resolved hydration/static-route tests. Submit only a formal current-head verdict; do not mutate, rebase, force-push, merge, weaken gates, or infer approval from status-only evidence. |
|
@coderabbitai resume Resume automatic review for unchanged exact current head |
|
✅ Action performedReviews resumed. |
|
@opencode-agent review Current-head re-dispatch request for |
|
@opencode-agent review Review only exact current contributor head |
Closes #609.
Repair contract
0only for the zero-valid planning fieldsbudget,actualCost, andstoryPoints;owner: 0andowner: falsenormalize to empty);wbs.json, edit → save → reopen, connected JSON sync, and CSV export through realistic browser paths;predecessors,sprint,budget,actualCost,storyPoints) in connected JSON sync without broadening zero preservation to unrelated fields.TDD / root-cause evidence
Protected
develop@2c328875e00e86537df3e965170be80532571cadused truthiness fallbacks that dropped numeric zero. The regression lane first demonstrated the missing-zero behavior; current-head review then exposed over-broad falsy preservation, load/export races, omitted JSON-sync planning fields, a hydration-time empty-file overwrite path, a missing cloud static route, and a route regression that was not part of the explicit API suite. Those defects were repaired on the existing branch with realistic browser/API coverage.This run also found an evidence defect adjacent to the product repair: the new production module
json-sync-bootstrap-guard.jswas outside the branch's canonical Istanbul coverage surface. A RED coverage-contract change first proved the omission,tests/unit/json-sync-bootstrap-guard.test.mjsnow exercises the real bootstrap behavior, andpackage.jsonnow instruments the production guard underc8and executes that behavior test intest:coverage:cases.A temporary assertion requiring the repository Server Tests workflow itself to run coverage correctly failed against the live workflow. That assertion was removed from this product lane after confirming ScopeWeave PR #523 is the existing causal owner of exact-contributor checkout plus owned coverage execution. This branch does not duplicate or weaken #523's control-plane repair.
All currently posted review threads are resolved on the exact current head.
Security dependency convergence
This branch aligns both
package.jsonandpackage-lock.jsonto Hono4.13.5, avoiding the Hono<4.13.5advisories published on 2026-08-26 (GHSA-crvj-82cr-hjcx, GHSA-gqvv-2mrq-wpjv, GHSA-g6gw-c38x-mqfc).Exact identity
develop@2c328875e00e86537df3e965170be80532571cad5c1f7eced40cef872b28f59e3d434ebc3cd6c17a29d2edf1b49681159be0095a097cc70612827bf4fix/preserve-zero-normalization-609Any protected-base or contributor-head movement invalidates revision-sensitive evidence until freshly reconciled.
Current verification boundary
For exact contributor head
5c1f7eced40cef872b28f59e3d434ebc3cd6c17a, the currently associated repository workflow runs are terminal GitHub-success:33248939823;33248939524;33248939658;33248939552;33248939536; and33248939514.These conclusions are not all promoted to merge-authorizing exact-contributor evidence. The current repository Server Tests workflow still materializes the PR synthetic merge rather than proving execution at the immutable contributor SHA and still lacks the integrated exact-head owned-coverage control. PR #523 owns that repository-native repair. Therefore current Server Tests success is useful behavior evidence only, not exact-head merge authority. Any centrally inherited exact-head/security/review prerequisites must likewise be regenerated after their owning control repairs integrate.
No current formal review is a qualifying independent current-head
APPROVEDreview.Merge acceptance
Do not merge or enable auto-merge until the unchanged exact contributor head remains reconciled to freshly resolved protected
develop, #523's exact-head Server Tests/coverage control is protected-shipped and regenerated for this head, every applicable repository and inherited browser/owned statement-branch-function-line coverage/docstring/CodeQL/SAST/security/dependency/supply-chain/package/provenance gate is substantively terminal-passing, valid unresolved findings are zero, and live branch protection/rulesets have a qualifying independent current-head approval.Pending, queued, skipped-required, cancelled, absent, neutral-required, failed, stale, predecessor, synthetic-only, status-only, author-only, model-only, rate-limited, or infrastructure-only evidence is non-passing.