docs(handoff): close Phase-17 — v0.5 hardening cycle (4 PRs merged)#47
Merged
docs(handoff): close Phase-17 — v0.5 hardening cycle (4 PRs merged)#47
Conversation
Phase-17 v0.5 HARDENING DEFENSIVO CYCLE cerrado en develop. 4 PRs incrementales squash-merged: - PR #43 (W-3.5-SEC-M2): chmod 0o600 sobre recall.db. - PR #44 (W-3.5-SEC-M1): atomic write+rename en .gitignore + writeConfig consolidado con CSPRNG suffix. - PR #45 (W-3.5-SEC-L1, parcial): redact paths absolutos de DatabaseError messages → details.path + 4 nuevos globs en pino redact. - PR #46 (W-3.1-SEC-M1): cap configurable buffer en StdioJsonRpcServer (default 10 MiB) + env var override + transport closure on overflow. Cero rechazos del security-auditor (4 APPROVED WITH OBSERVATIONS). 1 round-trip CI en PR-2 por S7735 negated condition trivial. 36 tests nuevos VALOR-asserting consolidados, 5+1 EXIT=0 verde en cada PR, SonarQube quality gate PASSED en cada PR. 12 observaciones consolidadas para futuros ciclos (1 medium W-3.5-SEC-L2 — path-leak en 9+ Error factories adicionales workspace/ secrets/curator + 11 low/info follow-ups). Updates HANDOFF.md: - §0: 6 rows actualizadas (Fecha, Fase actual, Lineas, Tests, Issues, Proximo paso). - §6.21: roadmap row 4 marcada CLOSED en Phase-17. - §6.22 NEW: Phase-17 cycle close completo (decisiones humanas + 4 sub-fases + detalle por PR + observaciones consolidadas + 8 decisiones del orquestador + 5 lecciones durables + estado del repo + siguiente acción concreta con 3 opciones para release). - Footer "Ultima actualizacion". NO release cortado. Decisión humana pendiente sobre release/0.1.3-beta.0. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.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
Phase-17 close docs-only PR. Pattern matches PR #25 (Phase-12), #28 (Phase-13), #32 (Phase-14), #36 (Phase-15), #42 (Phase-16) — each cycle/phase ends with a docs-only PR synthesizing the closure.
What Phase-17 delivered
v0.5 hardening defensivo cycle — 4 incremental PRs squash-merged to `develop`:
Zero security-auditor rejections (4 APPROVED WITH OBSERVATIONS). 1 CI round-trip in PR-2 over S7735 negated condition trivial fix. 36 new VALOR-asserting tests consolidated, 5+1 EXIT=0 green in each PR, SonarQube quality gate PASSED in each PR.
Key finding tracked: W-3.5-SEC-L2 follow-up
PR #45's security-auditor revealed that W-3.5-SEC-L1 is NOT categorically closed — only closed for DatabaseError. 9+ Error factories in workspace/secrets/curator modules still interpolate `rootPath`/`startPath`/`hookPath` into `message`, and they flow to the wire JSON-RPC via `error-mapper.ts` Tier 3.5. Same leak pattern, also flowing to MCP clients.
Affected files (tracked as W-3.5-SEC-L2 for next hardening cycle):
Recommendation: apply same `details: { path }` pattern across all error factories before v0.5 GA.
What this PR adds
Pure HANDOFF.md changes (212 insertions / 8 deletions):
State of repo post-merge
Test plan
Decision pending after merge
Cut `release/0.1.3-beta.0` now or later?
Recommendation: Option A aligns with project's historical cadence. Final call belongs to the human.
🤖 Generated with Claude Code