Skip to content

docs(docker): two-worktree concurrent freeport smoke checklist (#2006) - #2058

Merged
natechadwick merged 1 commit into
mainfrom
docs/issue-2006-two-worktree-freeport-smoke
Aug 5, 2026
Merged

natechadwick merged 1 commit into
mainfrom
docs/issue-2006-two-worktree-freeport-smoke

Conversation

@natechadwick-intsof

Copy link
Copy Markdown
Collaborator

Summary

Documents and scripts a two-worktree concurrent freeport smoke checklist so multi-cell stacks do not collide on published host ports.

  • Operator checklist in docker/README.md → Two-worktree concurrent freeport smoke (docs(docker): two-worktree concurrent smoke checklist for freeport cells #2006):
    • Tier 0 — allocation dry-run (no Docker / CMS install)
    • Tier 1 — perc-devctl qa-up / up --dry-run discovery across two worktrees
    • Tier 2 — optional live sequential qa-up / up + probes + tear-down (notes fixed container names)
    • Env override wins; tear-down frees ports; pass criteria table
  • Cross-link in docs/developer-module/workbench-rest-and-qa-modes.md (QA mode section)
  • CI-friendly script docker/scripts/freeport-concurrent-smoke.py + unit tests — exercises shared perc_host_ports (preferred → freeport → env override → release)

References: parent #2001; freeport slice PR #2003; matrix freeport #2005 / #2014; sibling residual #2004 (DB/compose host ports + still-fixed container_name).

Fixes #2006

Operator: Grok: night-issue-prs (model grok-4.5)

Test plan

  • python -m pytest docker/scripts/test_freeport_concurrent_smoke.py docker/scripts/test_perc_devctl.py docker/scripts/test_matrix_install_smoke.py -q → 88 passed
  • python docker/scripts/freeport-concurrent-smoke.py → RESULT:OK STEP:freeport-concurrent-smoke
  • Optional live: two worktrees / terminals follow Tier 1–2 checklist in docker/README.md

Gates evidence

Gate Result
Behavioral unit tests Pass — new freeport concurrent smoke tests + existing freeport suites (88 total)
Portable paths Pass — stdlib socket only; no OS path construction for ports; pathlib for scripts dir
Change-class companions Docs checklist + dry-run script + tests + workbench cross-link; references existing helpers
Spotless mvnw.cmd -N spotless:apply first, then spotless:check second (BUILD SUCCESS). In-scope only committed (docker/README.md, workbench doc, smoke script + tests). Out-of-scope baseline Spotless rewrites under docs/ai-generated/code-reviews/* left uncommitted (not folded into this PR)
Maven clean install N/A — docs + Python docker scripts only (no Maven module sources)
Erlang self-review No bugs; honest residual note that fixed container names still limit true concurrent full qa-up/up (tracked under #2001 / #2004)

Residual

None for #2006 acceptance (checklist + optional dry-run). Parent #2001 still tracks #2004 for remaining compose/DB freeport and worktree-scoped container names.

@natechadwick-intsof natechadwick-intsof added operator:grok Changes authored by Grok operator:night-issue-prs night-issue-prs workflow model:grok-4.5 Grok 4.5 model labels Aug 5, 2026
Add operator/agent checklist for multi-worktree freeport cells under
docker/README.md (Tier 0 allocation dry-run, Tier 1 CLI dry-run, Tier 2
optional live qa-up/up) with cross-links from workbench-rest-and-qa-modes.

Add freeport-concurrent-smoke.py (no Docker/CMS install) proving preferred
baseline, second-cell freeport, env override, and tear-down port free via
perc_host_ports helpers shared with perc-devctl and matrix-install-smoke.

Fixes #2006
Related #2001 #2004 #2005 #2014

> Co-Authored by Grok Build using grok-4.5 with agent main.
@natechadwick-intsof

Copy link
Copy Markdown
Collaborator Author

Overnight follow-up: Rebased onto main (was 6 commits behind). Clean rebase — no conflict markers. No file content changes beyond replay onto current base.

Ready for review; no unresolved review threads.

@natechadwick-intsof
natechadwick-intsof force-pushed the docs/issue-2006-two-worktree-freeport-smoke branch from cf162c6 to 2f4b7a5 Compare August 5, 2026 17:40
@natechadwick
natechadwick merged commit 72def14 into main Aug 5, 2026
7 checks passed
@natechadwick
natechadwick deleted the docs/issue-2006-two-worktree-freeport-smoke branch August 5, 2026 18:10
natechadwick-intsof added a commit that referenced this pull request Sep 5, 2026
PR #4351 already has requireFileUnderRxDir, sink-line annotations,
query-filters, and tests. CodeQL re-fingerprinted save File API as
#2058–#2062 on the PR scan.

> Co-Authored by Grok Build 1.0.13 using grok-4.6 with agent night-issue-prs.
natechadwick-intsof added a commit that referenced this pull request Sep 6, 2026
* fix(codeql): path-injection #2039–#2044 PSConfigService config files

Contain package config files under RxDir via requireSafeFileName and
requireUnderBase before File.exists / FileInputStream. Parent audit #4348.

> Co-Authored by Grok Build 1.0.13 using grok-4.6 with agent night-issue-prs-security.

* fix(codeql): path-injection #2045 IOTools.getFileContent

Reject NUL paths, open the canonical file, and add getFileContentUnderBase
with requireUnderBase. Parent audit #4348.

> Co-Authored by Grok Build 1.0.13 using grok-4.6 with agent night-issue-prs-security.

* fix(codeql): path-injection #2046–#2050 object-store save files

Contain application save paths under RxDir via requireFileUnderRxDir
before exists/isFile/mkdirs. Parent audit #4348.

> Co-Authored by Grok Build 1.0.13 using grok-4.6 with agent night-issue-prs-security.

* docs(codeql): record path-injection residual alerts #2055–#2057

PR #4349 already has runtime requireUnderBase, sink-line annotations,
query-filters, and tests. CodeQL re-fingerprinted exists() as #2055–#2057
on the PR scan (query-filters do not always filter PR review comments).

> Co-Authored by Grok Build 1.0.13 using grok-4.6 with agent night-issue-prs.

* docs(codeql): record path-injection residual alert #2054

PR #4350 already has NUL reject + getCanonicalFile, getFileContentUnderBase,
sink-line annotations, query-filters, and tests. CodeQL re-fingerprinted
FileInputStream as #2054 on the PR scan.

> Co-Authored by Grok Build 1.0.13 using grok-4.6 with agent night-issue-prs.

* docs(codeql): record path-injection residual alerts #2058–#2062

PR #4351 already has requireFileUnderRxDir, sink-line annotations,
query-filters, and tests. CodeQL re-fingerprinted save File API as
#2058–#2062 on the PR scan.

> Co-Authored by Grok Build 1.0.13 using grok-4.6 with agent night-issue-prs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

model:grok-4.5 Grok 4.5 model operator:grok Changes authored by Grok operator:night-issue-prs night-issue-prs workflow

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs(docker): two-worktree concurrent smoke checklist for freeport cells

2 participants