Skip to content

fix(workflow): terminate finite port probing without floating-point progress - #1110

Open
BlueboxC wants to merge 7 commits into
tt-a1i:devfrom
BlueboxC:codex/upstream-finite-workflow-probe-1072
Open

BlueboxC wants to merge 7 commits into
tt-a1i:devfrom
BlueboxC:codex/upstream-finite-workflow-probe-1072

Conversation

@BlueboxC

@BlueboxC BlueboxC commented Oct 25, 2026 •

Copy link
Copy Markdown

Problem and change

Fixes #1072. This revision addresses CodeRabbit's edge-width finding while retaining the earlier occupied-port correction.

With node width 1e30 and edge width 1e25, occupied port clearance spans an enormous interval. Head e233414 still exceeds the bounded public-CLI deadline because representable-coordinate progress alone can require billions of occupied probes.

The selector now skips an interval only while both signed directions are blocked, advancing to the earliest possible clearance boundary on the 12px grid. A conservative floating-point margin preserves ports that round clear before the exact mathematical boundary. Existing finite progress, final-slot, clearance and fallback rules remain. Authored dimensions, edge widths, schema limits and routing controls are preserved.

Head: 7e8ce82376ea56d7074676b3d30aafd78264fff4.
Parent: e2334144a0518b192bba74edd3da49f5d16d99de.
Base: dev fdc65ba5f0738aa0316670803c2d29b2e39ee54e.

Only the compiler, its existing regression file and the regenerated canonical ZIP change. The published tree is identical to the qualified tree; licensing and third-party credits are preserved.

Validation

  • Red on e233414: the actual selector exceeds its 1-second controlled VM deadline and public validation exceeds its 5-second deadline for node width 1e30 plus edge width 1e25.
  • Green: 295 Workflow tests and 19 core smoke cases pass, with no skips. Generated checks, canonical ZIP and diff checks pass; extracted compiler and tracked source are identical.
  • Extend the existing test instead of adding a framework: 11 controlled selector cases cover ordinary and positive/negative wide centers, occupied neighbours, vertical orientation and a rounded-clear boundary; 8 public-CLI inputs cover the original five node widths with omitted edge width plus huge-edge and fully occupied controls. CLI receipts remain structured, authored input bytes unchanged and no HTML is emitted.
  • A 3,528-case bounded comparison against the unchanged upstream selector found no loss of available clear ports across three independent edge widths. This is controlled selector evidence, not thousands of complete diagrams or a general visual-acceptance claim.
  • Four maintained inputs (agent-tool-call, release-delivery, holiday-planning, incident-response), each in standard/showcase, retain all eight complete successful compile results against e233414.

Exact-head CI41131222445 passes: 16 successful jobs and 4 normal skips (full-regression, website and two deployments). Both browser shards, Windows portability22/24, maintained Node compatibility, three-platform package smoke, generated/ZIP checks and selected regressions actually passed. The skipped broad lane is not claimed as executed.

Test-value assessment: node-width-only inputs missed the independent edge-width clearance failure. The existing public-CLI test now covers it, while the focused selector control protects available ports without freezing automatic coordinates. The same blocker calculation owns candidate rejection and interval advancement; no dimension cap, new router or public API was added. Evidence uses fixed JSON and controlled selector comparisons, not a new Agent-generation benchmark.

Contributor review

  • I reviewed the submitted changes and explanation, understand their impact, and can answer questions about them.

The contributor has explicitly confirmed personal review of 7e8ce82376ea56d7074676b3d30aafd78264fff4 and can answer questions about this correction. The earlier confirmation of e233414 remains recorded for that revision.

Current integration · 31 October

Head 26ae5382fc1726444cbf5e4219478435bf36fcbc includes maintainer #1173 and dev 63c9263e84bd3993cab8e09b3d69888857858635. The original correction and test blobs remain byte-identical to 7e8ce82376ea56d7074676b3d30aafd78264fff4; the existing personal confirmation retains that scope. The combined ZIP was regenerated and checked against the complete Skill tree.

Local qualification on tree e1db74350fb078e2a80cf9149a700d29ed9d46db: generated/golden checks,19 core smoke cases,26 focused Sequence cases including Chrome, this PR's focused regression and clean-package smoke. The later integration of #1174 changes only the README GIF and receipt: the unchanged README/Gallery tests pass15 cases with one native Windows-only local skip on final tree 82164e0e73dc24ff2850819d235299b033b5b145. All three input-artifact hashes match the separately recaptured #1174 animation. Source, tests and ZIP are unchanged by that second step. The earlier README freshness failures remain visible in the previous CI runs.

CI41175232686 passed on this exact public head: 17 successful jobs, 3 expected skips, no failures. The complete regression lane was skipped by the existing scope policy; it is not counted as executed. Windows path-test steps: (Node 22) skipped; (Node 24) skipped; skipped steps are not counted as native test execution. Deployment jobs were skipped. The separate generated-media PR1174 remains Draft pending its own personal review; this update does not claim a new personal review of these mechanical commits.

BlueboxC

@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: tt-a1i/archify
  • Branch: dev
  • File: .coderabbit.yaml
  • Commit: 63c9263
  • Layers: Repository YAML
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 442ac8da-8151-477d-8e88-70eefd27b415
Commits

Reviewing files that changed from the base of the PR and between 5a90c4d and 26ae538.

Files ignored due to path filters: 1
  • docs/assets/archify-live-proof.gif is excluded by !**/*.gif
Files selected for processing: 1
  • docs/assets/archify-live-proof.json

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 6 remain after this review.

Summary

Base 10b4dd5; reviewed head b51dda9. For extremely wide nodes, automatic port probing now stops when 12px steps cannot produce distinct floating-point coordinates or advance the offset. This prevents the probe loop from running indefinitely without changing schema limits.

The author reports 295 Workflow tests, 19 core smoke cases, and package checks passing at a later revision. Earlier reports reuse evidence from e233414, not this reviewed head. The supplied context reports CI passing at 48717dd, but this checkout did not independently verify that CI result. These reports do not establish browser or perceptual acceptance.

The automatic port search skips occupied intervals in 12px increments and uses a bound derived from the node’s usable side length. It accounts for floating-point rounding and returns two clear candidates when available, or the preferred port otherwise. Tests check candidate spacing and CLI validation across node and edge widths. CLI tests also check termination, diagnostics, input preservation, and that no HTML output is created. The proof manifest records updated GIF and classic-scene checksums.

Estimated code review effort: 2 (Simple) | ~15 minutes

Severity of issue fixed: Medium

Possibly related issues

  • tt-a1i/archify#1072: Reports validation hangs when extremely large node widths cause repeated floating-point probe coordinates. This change updates the probe search to skip occupied intervals and terminate after exhausting its bounded range.

Possibly related PRs

  • tt-a1i/archify#1086: Adds automatic workflow port candidates and endpoint-stub candidates during reverse-source-port retries. This change updates the progress behavior of automatic port probing.
Merge Risk: Minimal · up to 26ae5

No actionable risk remains identified for this revision.

Pre-merge checks: Failed 2

Failed Failed checks: 2 warnings

Check name Status Explanation Resolution
Contribution Scope Warning The workflow fix is linked to #1072 and the description covers preserved compatibility and validation failure behavior. However, the reviewed diff also includes commit 355ea38, which changes `docs/ass… Remove the unrelated README animation refresh and its manifest changes from this PR, or move it to a separate PR. If maintainers intentionally retain it, record that scope decision and update the PR description with the second slice, its ra…
Validation Evidence Warning Evidence covers the port-progress behavior, but the validation record is not current-head accurate. The authoritative refs are base 63c9263 and head 26ae538. The body reports an exact-head CI run for … Run or link the scoped checks for head 26ae538, at least the generated-artifact, package, and website checks affected by the later refresh; retain the older workflow regression result only as reused evidence because the compiler and regress…
Full details: Contribution Scope

Explanation

The workflow fix is linked to #1072 and the description covers preserved compatibility and validation failure behavior. However, the reviewed diff also includes commit 355ea38, which changes docs/assets/archify-live-proof.gif and its manifest after Sequence header centering. The latest description says only the compiler, regression test, and canonical ZIP change. It does not explain or scope this second delivery slice. The repository guidance also says to keep unrelated generated output out of the diff.

Resolution

Remove the unrelated README animation refresh and its manifest changes from this PR, or move it to a separate PR. If maintainers intentionally retain it, record that scope decision and update the PR description with the second slice, its rationale, and the affected generated files.

Full details: Validation Evidence

Explanation

Evidence covers the port-progress behavior, but the validation record is not current-head accurate. The authoritative refs are base 63c9263 and head 26ae538. The body reports an exact-head CI run for 7e8ce82 (and the discussion cites 48717dd), while the evaluated head adds later README/generated refresh commits. The current diff also changes archify.zip, docs/assets/archify-live-proof.gif, and its manifest, contrary to the body’s statement that only the compiler, an existing regression file, and the ZIP changed. Observed evidence is otherwise useful: the new test covers large node and edge widths, both directions, right-side routing, bounded CLI termination, JSON diagnostics, input preservation, and no output; the test runner discovers it automatically; the archived compiler matches the tracked compiler; and the proof manifest hashes match the GIF and classic artifact. The author-reported 295 Workflow tests, 19 smoke cases, comparison matrix, and CI results remain reports from older revisions, not observed final-head results.

Resolution

Run or link the scoped checks for head 26ae538, at least the generated-artifact, package, and website checks affected by the later refresh; retain the older workflow regression result only as reused evidence because the compiler and regression test are unchanged since that run. Update the PR body to name the evaluated base/head, list the actual changed files, and distinguish author-reported, reused, and directly verified evidence.

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.

Share

@tt-a1i tt-a1i left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agent-assisted review; visual inspection and local probes below were performed by agents, not claimed as human acceptance.

Reviewed head b51dda9112fe94d1d874acdf3d150898ae4ff33a against current dev e837dc4cb83042d2b6c596e039692e25ec62c2da.

The progress guard is appropriately scoped: it stops when neither signed probe can change the floating-point coordinate, or the loop increment cannot advance, while preserving the fallback and authored dimensions. I independently reproduced the current-dev timeout at width 1e30 and confirmed that the extracted candidate handles 1e18/1e25/1e26/1e30 and the ordinary 320 control promptly, preserves input bytes, and writes no HTML during validate. Four maintained inputs at both quality profiles retain identical complete compile results. No blocking source defect found. Please keep the PR in Draft until the accountable contributor completes the personal-review confirmation, then synchronize current dev and verify final-head integration CI; no arbitrary dimension limit is requested.

Preserve the finite-port progress guard and its regression while integrating current dev.

BlueboxC

Copy link
Copy Markdown
Author

Refreshed this existing branch against dev fdc65ba5f0738aa0316670803c2d29b2e39ee54e; final head is 48717ddaa5fde70b9ccd9e14b0f7ca1bced6f97f. The sole conflict was the generated ZIP, now rebuilt from combined tracked source. Upstream compiler changes are retained, the original three-line correction/context is unchanged, and its public-CLI regression file is byte-identical.

The existing regression still exceeds its bounded deadline on current dev. Combined source passes294 Workflow tests and19 core smoke cases, with generated/package checks. Final CI passes16 jobs; full-regression, website and two deployments are normal skips and are not claimed as executed.

The technical refresh is complete. Personal review remains unconfirmed, so Draft is retained accurately.

BlueboxC

@BlueboxC
BlueboxC marked this pull request as ready for review October 30, 2026 19:41
devin-ai-integration[bot]

This comment was marked as resolved.

@BlueboxC
BlueboxC marked this pull request as draft October 30, 2026 19:59
Advance past repeated representable coordinates without discarding later clear ports. Retain bounded CLI validation and add occupied-center and occupied-neighbour controls.

BlueboxC
@BlueboxC
BlueboxC marked this pull request as ready for review October 30, 2026 20:22
coderabbitai[bot]

This comment was marked as resolved.

@BlueboxC
BlueboxC marked this pull request as draft October 30, 2026 21:22
Preserve rounded clear ports while bounding probes for very wide edges. Extend the existing selector and public CLI regressions and regenerate the canonical ZIP.

BlueboxC
@BlueboxC
BlueboxC marked this pull request as ready for review October 31, 2026 00:24
Preserve the original correction while regenerating the combined source package.

BlueboxC
Recapture the existing scenes from the current gallery artifacts after upstream PR tt-a1i#1173.

BlueboxC
Retain the original correction and upstream Sequence centering; bind the animation to the combined gallery artifacts.

BlueboxC

This branch has not been deployed

No deployments
Sign up for free to 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.

2 participants