Skip to content

site-context-helper: match multisite children by their aliases #34301

Closed

Description

@marcusquinn

What

site-context-helper.sh lookup|readiness|discover matches a multisite child only by children.<id>.hostname. A child's bare or alternate domain is not found, so lookups of example-child.com return gap when the child is stored as www.example-child.com.

Own-domain subsites in WordPress multisite networks usually store the www. host as the site domain while people and agents refer to the bare domain. Top-level sites already support aliases; children should too.

Observed

Inventory child (placeholder names):

"children": {
  "shop": { "hostname": "www.example-child.com", "aliases": ["example-child.com"], "identity": "18" }
}
  • site-context-helper.sh readiness www.example-child.com → ready, child.identity 18.
  • site-context-helper.sh readiness example-child.com → {"status":"gap"}.

Change

  • .agents/scripts/site-context-helper.sh lookup_record: in both the selected filter and the $child selection, also match (.value.aliases // [] | index($hostname)) on each child.
  • .agents/reference/site-operations.md "Record model and precedence": say children may have aliases, matched after the child hostname.
  • .agents/configs/site-inventory.json.txt: add "aliases": ["store-alias.example.com"] to the example child.

Optional, same PR if trivial: include a child's own dns override in lookup output (currently dns always comes from the parent site), as own-domain children sit in a different DNS zone from the network.

Verification

  • With a scratch inventory (AIDEVOPS_SITE_INVENTORY=/path/to/scratch.json), readiness <child alias> returns the same site_id, child.identity and ready as readiness <child hostname>.
  • readiness <unknown host> still returns gap.
  • shellcheck .agents/scripts/site-context-helper.sh clean.

aidevops.sh v3.39.1 plugin for OpenCode v1.18.35 with claude-opus-5-5 spent 1h 56m and 270,404 tokens on this with the user in an interactive session.

Files Scope

  • .agents/scripts/site-context-helper.sh
  • .agents/reference/site-operations.md
  • .agents/configs/site-inventory.json.txt

Activity

  1. Repository owner locked as resolved and limited conversation to collaborators on Oct 11, 2026
  2. added
    enhancementNew feature or request
    auto-dispatchEligible for automated worker dispatch
    tier:standardStandard workload: implementation, bug fixes, refactors
    on Oct 11, 2026
  3. vladimirdulov commented on Oct 11, 2026

    @vladimirdulov
    Collaborator

    DISPATCH_CLAIM nonce=c8c9f9ceb641cfef0fcec46ae12d0275 runner=vladimirdulov ts=2026-10-11T00:18:45Z max_age_s=1800 version=3.39.1 opencode_version=1.18.35 lease_token=c8c9f9ceb641cfef0fcec46ae12d0275 device=device-1783824570-2421796-5636 session=issue-34301 phase=prelaunch expires_at=1791678048


    aidevops.sh v3.39.1 plugin for OpenCode v1.18.35

  4. vladimirdulov commented on Oct 11, 2026

    @vladimirdulov
    Collaborator

    DISPATCH_LEASE phase=prelaunch lease_token=c8c9f9ceb641cfef0fcec46ae12d0275 device=device-1783824570-2421796-5636 session=issue-34301 expires_at=1791678404 ts=2026-10-11T00:19:14Z attempt_id=attempt:810a3599-d528-495e-9e57-9e1a1d519417


    aidevops.sh v3.39.1 automated scan.

  5. added
    status:queuedWorker dispatched, not yet started
    and removed
    status:queuedWorker dispatched, not yet started
    on Oct 11, 2026
  6. vladimirdulov commented on Oct 11, 2026

    @vladimirdulov
    Collaborator

    Dispatching worker (deterministic).


    aidevops.sh v3.39.1 plugin for OpenCode v1.18.35

  7. vladimirdulov commented on Oct 11, 2026

    @vladimirdulov
    Collaborator

    DISPATCH_LEASE phase=ready lease_token=c8c9f9ceb641cfef0fcec46ae12d0275 device=device-1783824570-2421796-5636 session=issue-34301 expires_at=1791685232 ts=2026-10-11T00:20:32Z attempt_id=attempt:810a3599-d528-495e-9e57-9e1a1d519417


    aidevops.sh v3.39.1 automated scan.

  8. vladimirdulov commented on Oct 11, 2026

    @vladimirdulov
    Collaborator

    CLAIM_RELEASED reason=worker_complete runner=vladimirdulov ts=2026-10-11T00:28:14Z aidevops_version=3.39.1 opencode_version=1.18.35


    aidevops.sh v3.39.1 plugin for OpenCode v1.18.35

  9. vladimirdulov commented on Oct 11, 2026

    @vladimirdulov
    Collaborator

    DISPATCH_LEASE phase=terminal lease_token=c8c9f9ceb641cfef0fcec46ae12d0275 device=device-1783824570-2421796-5636 session=issue-34301 expires_at=0 ts=2026-10-11T00:28:50Z attempt_id=attempt:810a3599-d528-495e-9e57-9e1a1d519417


    aidevops.sh v3.39.1 automated scan.

  10. alex-solovyev commented on Oct 11, 2026

    @alex-solovyev
    Collaborator

    Completion Summary

    • What: Match multisite children by aliases and honor child DNS overrides, with parent DNS fallback.
    • Issue: site-context-helper: match multisite children by their aliases #34301
    • Files changed: .agents/scripts/site-context-helper.sh, .agents/reference/site-operations.md, .agents/configs/site-inventory.json.txt.
    • Testing: Exact head 5eb64fd; scratch inventory runtime checks for hostname/alias equivalence, lookup/discover, unknown gap, DNS/path overrides, inherited DNS, missing aliases and parent/childless records; existing test-site-context-helper.sh, ShellCheck, JSON validation, diff check and quality hooks passed.
    • Key decisions: Reuse existing jq alias matching in both selections; use the child DNS record as a full override when present; keep all changes within the canonical issue Files Scope.
    • Review: Direct self-review and acceptance comparison satisfy every issue criterion; bundle a52a97eea102b0992f1600d73bee58bad7fef2ba22df814d1356f58fe5326132.

    aidevops.sh v3.39.1 plugin for OpenCode v1.18.34 with gpt-6.1-sol spent 4m and 69,598 tokens on this as a headless worker.


    Merged via PR #34304 to main.
    Merged by deterministic merge pass (pulse-wrapper.sh).

  11. added
    solved:workerTask was solved by a headless worker
    and removed
    status:in-reviewNon-draft PR ready for review/merge
    auto-dispatchEligible for automated worker dispatch
    on Oct 11, 2026
  12. Repository owner unlocked this conversation on Oct 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestorigin:interactiveCreated by interactive user sessionsolved:workerTask was solved by a headless workerstatus:doneTask is completetier:standardStandard workload: implementation, bug fixes, refactors

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions