Skip to content

fix: make adoption and diagnostics safe for linked project setups (#533) - #538

Merged
smota merged 1 commit into
developmentfrom
fix/533-linked-project-adoption
Oct 18, 2026
Merged

smota merged 1 commit into
developmentfrom
fix/533-linked-project-adoption

Conversation

@smota

@smota smota commented Oct 18, 2026

Copy link
Copy Markdown
Owner

Make adoption, adapter synchronization, and maintenance diagnostics safe for linked consumer setups and Rust repositories without Node manifests.

  • Normalize consumer SDLC domain configuration in memory during inspectDoctor (lib/services/doctor-readers.mjs) so raw consumer sdlc.config.json and effective config receive consistent structural diagnostics without rewriting project policy (AC1).
  • Detect symbolic links in lib/skill-adapters.mjs and lib/services/doctor-readers.mjs so canonical linked skills are recognized as linked-canonical (non-stale), non-canonical/broken links are reported accurately, and write: true never writes through symlinks into canonical source (AC2).
  • Plan and apply generated harness files (.agentflow/roles/**, .claude/commands/**, .pi/commands/**, plugin manifests, structural-merged settings, and existing non-linked skill adapters) transactionally with recoverable preimages (mode: 'sync'), and surface stale generated adapters in onboarding verify and readiness reports (AC3).
  • Include manifests/composition-profiles.json and manifests/product-payload.json in the managed payload, load @opentelemetry/* lazily when telemetry is disabled, and seed declared/locked ajv@8.20.0 and yaml@2.9.1 dependencies for Rust (Cargo.toml) consumers (AC4).
  • Distinguish unsupported automatic Rust test/CI discovery (status: 'unsupported', not proven absent) from proven absence in detectTestCommand, assumptionNotes, and checkPostureCapability (AC5).

Implemented issues

Closes #533

Related issues

#516; Dendro smota/dendro#62

CI-equivalent validation

Status: passed
Commands: pnpm validate:release; inspectDoctor and runConfigDoctor against /home/sam/code/dendro.
Results: all test suites, hooks, workflow, distribution, authority, extension, skill, role, path, docs, reachability, evals, collaboration, package-parity, sandbox, cockpit, and npm-package checks passed.

Workflow evidence

Workflow-status comment: #533 (comment)
Handover comments: exception: single-session orchestration with bounded subagent delegation
Role-pass summary: Agy orchestrated architecture and integration; Grok (xai/grok-4.7-build-fast) implemented Slice A and Slice B; Grok (xai/grok-4.7) executed independent cross-family QA and diff review (APPROVE).
Validation evidence: full pnpm validate:release and live read-only consumer verification recorded in the workflow-status comment.

Agent review

Implemented by: agy
Launcher: antigravity
Executor: agy-session
Transport: local-cli
Delegation boundary: current-session
Model / runtime: Gemini 4 Argon (low) orchestrator; delegated builder/reviewer via pi-cli (xai/grok-4.7-build-fast and xai/grok-4.7, low)
Review: self-review
Workflow profile: standard
Merge owner: human/operator
Mode: single-agent
Self-review disclosure: Agy performed final synthesis and self-review; cross-family review was also performed by xai/grok-4.7 via pi -p (APPROVE).
Regression test: added

Follow-up issues

None created; #534 and #535 remain tracked in the backlog.

- Normalize raw consumer SDLC domain configuration in maintenance doctor without mutating policy files (AC1)
- Recognize linked canonical skills and prevent skill adapter sync from writing through symlinks (AC2)
- Preview, apply, verify, and roll back generated harness adapters transactionally during adoption (AC3)
- Seed declared, locked project-scoped Ajv/yaml dependencies for Rust consumers and load OpenTelemetry lazily when telemetry is disabled (AC4)
- Distinguish unsupported automatic Rust test/CI discovery from proven absence in init and posture checks (AC5)

Closes #533
Refs: #516
Role-Pass: developer
@smota
smota merged commit 1a7a58b into development Oct 18, 2026
5 of 7 checks passed
@smota
smota deleted the fix/533-linked-project-adoption branch October 18, 2026 15:24
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.

fix: make adoption and diagnostics safe for linked project setups

1 participant