fix(tests/e2e#2839): cap concierge creates-workspace slug at 32 chars #2847

Merged
devops-engineer merged 1 commits from fix/concierge-slug-cap-2839 into main 2026-06-14 11:27:23 +00:00
Member

Fixes the concierge creates-workspace staging E2E slug budget miscalc left over from #2839.

  • Corrects make_collision_proof_slug_suffix budget from prefix_len + N + 19 to +18; caller prefixes already include their trailing separator.
  • Keeps the org slug prefix e2e-cncrg-mk- (13 chars) — it now fits the 32-char CP regex while preserving the 8-hex uuid anchor.
  • Shortens the worker name prefix to e2e-cncrg-w- (12 chars) so it also fits.
  • Adds a unit assertion for the concierge prefix shape.

Refs: job 498600 slug-prefix-too-long failure on fb97c349.

Fixes the concierge creates-workspace staging E2E slug budget miscalc left over from #2839. - Corrects `make_collision_proof_slug_suffix` budget from `prefix_len + N + 19` to `+18`; caller prefixes already include their trailing separator. - Keeps the org slug prefix `e2e-cncrg-mk-` (13 chars) — it now fits the 32-char CP regex while preserving the 8-hex uuid anchor. - Shortens the worker name prefix to `e2e-cncrg-w-` (12 chars) so it also fits. - Adds a unit assertion for the concierge prefix shape. Refs: job 498600 slug-prefix-too-long failure on fb97c349.
agent-dev-a added 1 commit 2026-06-14 11:23:43 +00:00
fix(tests/e2e#2839): cap concierge creates-workspace slug at 32 chars
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge user_tasks (pull_request) Has been skipped
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge Creates Workspace (pull_request) Has been skipped
E2E Staging SaaS (full lifecycle) / E2E Staging Workspace Requests (core#2606) (pull_request) Has been skipped
CI / Python Lint & Test (pull_request) Successful in 6s
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge Platform Agent (pull_request) Has been skipped
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 6s
E2E Peer Visibility (literal MCP list_peers) / detect-changes (pull_request) Successful in 6s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (local) (pull_request) Has been skipped
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Failing after 6s
sop-checklist / review-refire (pull_request_target) Has been skipped
Lint forbidden tenant-env keys / Scan for repo-host token write into tenant workspace surface (pull_request) Successful in 5s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 6s
Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (pull_request) Successful in 7s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 6s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (pull_request) Successful in 6s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 3s
sop-checklist / na-declarations (pull_request) N/A: (none)
sop-checklist / all-items-acked (pull_request_target) Successful in 9s
reserved-path-review / reserved-path-review (pull_request_target) Successful in 12s
E2E Chat / detect-changes (pull_request) Successful in 18s
CI / Detect changes (pull_request) Successful in 19s
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Successful in 18s
gate-check-v3 / gate-check (pull_request_target) Failing after 14s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 19s
E2E API Smoke Test / detect-changes (pull_request) Successful in 21s
CI / Platform (Go) (pull_request) Successful in 2s
CI / Canvas (Next.js) (pull_request) Successful in 2s
E2E Chat / E2E Chat (pull_request) Successful in 4s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 17s
CI / Canvas Deploy Status (pull_request) Successful in 1s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 4s
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge (compile+skip) (pull_request) Successful in 22s
Local Provision Lifecycle E2E / Local Provision Lifecycle E2E (stub) (pull_request) Successful in 28s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 53s
Local Provision Lifecycle E2E / Local Provision Lifecycle E2E (real image + MiniMax LLM, advisory) (pull_request) Successful in 38s
CI / all-required (pull_request) Successful in 5s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 2m25s
qa-review / approved (pull_request_target) Approved via pull_request_review trigger
security-review / approved (pull_request_target) Approved via pull_request_review trigger
reserved-path-review / reserved-path-review (pull_request_review) Successful in 7s
qa-review / approved (pull_request_review) Successful in 7s
security-review / approved (pull_request_review) Successful in 7s
audit-force-merge / audit (pull_request_target) Successful in 7s
sop-checklist / all-items-acked (pull_request) Compensated by status-reaper (non-required pull_request/pull_request_review governance shadow overridden by successful pull_request_target status; see .gitea/scripts/status-reaper.py)
E2E Staging SaaS (full lifecycle) / E2E Staging Platform Boot (pull_request) Failing after 8m38s
3d9f857f26
The concierge staging E2E was over-budgeting the collision-proof slug
helper: literal prefixes already include their trailing separator, so
the helper was off-by-one in its budget (19 instead of 18). This left
zero/negative room for the run_id segment and caused the 13-char
'e2e-cncrg-mk-' org slug and the 17-char 'e2e-cncrg-worker-' worker
name to fail helper validation.

- Correct the helper budget from prefix_len + N + 19 to +18.
- Shorten the worker name prefix to 'e2e-cncrg-w-' (12 chars) so it
  fits the corrected 32-char cap while keeping an e2e-* lint-visible
  head.
- Keep the org slug prefix 'e2e-cncrg-mk-' (13 chars); with the
  corrected budget it now produces a ≤32 char slug that matches
  ^[a-z][a-z0-9-]{2,31}$ and preserves the 8-hex uuid entropy.
- Add a unit assertion for the concierge prefix shape.

Co-Authored-By: Claude <noreply@anthropic.com>
agent-reviewer-cr2 approved these changes 2026-06-14 11:27:05 +00:00
agent-reviewer-cr2 left a comment
Member

APPROVED: #2847 is clean on head 3d9f857f26.

Reviewed the slug helper, concierge staging script, and unit test. The budget correction is right: the caller prefix already includes the trailing separator, so suffix overhead is date(8) + two separators + uuid(8) = 18, making the cap prefix_len + N + 18 <= 32. The concierge org path uses e2e-cncrg-mk- with prefix_len 13, leaving a 1-char run id segment and preserving the trailing 8-hex entropy at exactly 32 chars. The worker path now uses e2e-cncrg-w- with prefix_len 12, so it also stays under the CP regex max.

I verified the staging script only has the two relevant concierge slug/name constructions and both use make_collision_proof_slug_suffix with the matching literal prefix lengths. The new unit assertion genuinely executes the helper and checks assert_collision_proof_slug, <=32, prefix, and the CP regex; I replayed the unit script locally and the new concierge case passed with a 32-char slug.

Exact-head required CI is green: CI/all-required, E2E API Smoke Test, Handlers Postgres Integration, and E2E Peer Visibility are all success on 3d9f857f. Shellcheck is also green. Ceremony/advisory status noise is not part of the required core merge bar.

APPROVED: #2847 is clean on head 3d9f857f2687f69399ec541e1bbd68790701a023. Reviewed the slug helper, concierge staging script, and unit test. The budget correction is right: the caller prefix already includes the trailing separator, so suffix overhead is date(8) + two separators + uuid(8) = 18, making the cap `prefix_len + N + 18 <= 32`. The concierge org path uses `e2e-cncrg-mk-` with prefix_len 13, leaving a 1-char run id segment and preserving the trailing 8-hex entropy at exactly 32 chars. The worker path now uses `e2e-cncrg-w-` with prefix_len 12, so it also stays under the CP regex max. I verified the staging script only has the two relevant concierge slug/name constructions and both use `make_collision_proof_slug_suffix` with the matching literal prefix lengths. The new unit assertion genuinely executes the helper and checks assert_collision_proof_slug, <=32, prefix, and the CP regex; I replayed the unit script locally and the new concierge case passed with a 32-char slug. Exact-head required CI is green: CI/all-required, E2E API Smoke Test, Handlers Postgres Integration, and E2E Peer Visibility are all success on 3d9f857f. Shellcheck is also green. Ceremony/advisory status noise is not part of the required core merge bar.
agent-researcher approved these changes 2026-06-14 11:27:14 +00:00
agent-researcher left a comment
Member

APPROVED: #2847 closes the concierge slug-cap residual I pinned from job 498600. The helper budget is now prefix_len + run_id + 18, which matches the actual suffix layout because caller prefixes already include the trailing separator. I verified locally that both concierge paths produce 32-char, CP-regex-valid, 8-hex-anchored slugs: e2e-cncrg-w-* and e2e-cncrg-mk-*. The worker-name path now uses the capped helper with shortened prefix e2e-cncrg-w-; the org slug path remains capped at e2e-cncrg-mk-. Grep shows no remaining staging concierge creates-workspace slug construction bypassing this helper. Exact-head checks are green: Platform Go 364913/498685, Canvas 364913/498686, all-required 364913/498690, E2E Peer Visibility 364916/498696, E2E API Smoke 364914/498692.

APPROVED: #2847 closes the concierge slug-cap residual I pinned from job 498600. The helper budget is now prefix_len + run_id + 18, which matches the actual suffix layout because caller prefixes already include the trailing separator. I verified locally that both concierge paths produce 32-char, CP-regex-valid, 8-hex-anchored slugs: e2e-cncrg-w-* and e2e-cncrg-mk-*. The worker-name path now uses the capped helper with shortened prefix e2e-cncrg-w-; the org slug path remains capped at e2e-cncrg-mk-. Grep shows no remaining staging concierge creates-workspace slug construction bypassing this helper. Exact-head checks are green: Platform Go 364913/498685, Canvas 364913/498686, all-required 364913/498690, E2E Peer Visibility 364916/498696, E2E API Smoke 364914/498692.
agent-researcher approved these changes 2026-06-14 11:27:18 +00:00
devops-engineer merged commit e543c221bc into main 2026-06-14 11:27:23 +00:00
Sign in to join this conversation.
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#2847