[docs] Update documentation for features from 2026-03-26#461
[docs] Update documentation for features from 2026-03-26#461danielmeppiel wants to merge 5 commits intomainfrom
Conversation
- installation.md: add troubleshooting entry for glibc/devcontainer binary fallback to pip (#451) - skills.md: clarify presence-driven target deployment; Copilot always active, others deploy only when root dir exists; fix .opencode note (#453, #447) - lockfile-spec.md: document idempotent install -- no rewrite when dependencies are unchanged (#450) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Updates user-facing documentation to reflect recently merged behavior fixes (installer pip fallback on incompatible Linux binaries, presence-driven multi-target skill deployment including OpenCode, and idempotent lockfile writes).
Changes:
- Add installation troubleshooting note for older-Linux/devcontainer binary incompatibility and automatic pip fallback.
- Update skills guide to describe presence-driven target activation and skill deployment to active targets (including
.opencode/skills/). - Update lockfile spec lifecycle table to document idempotent
apm installlockfile writes (no timestamp churn when unchanged).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| docs/src/content/docs/getting-started/installation.md | Documents installer behavior when the binary cannot run on older glibc systems and the pip fallback path. |
| docs/src/content/docs/guides/skills.md | Updates skill integration + target detection docs to match presence-driven deployment and OpenCode support. |
| docs/src/content/docs/reference/lockfile-spec.md | Notes idempotent lockfile write behavior for subsequent installs. |
Comments suppressed due to low confidence (1)
docs/src/content/docs/guides/skills.md:304
- The docs suggest
apm install ... --target vscode, but the install command does not appear to support a--target/-toption (target flags exist onapm compile/apm pack). This "Override" example is likely misleading; consider removing theapm installexample or replacing it withapm compile --target ...and/or theapm.ymltarget:setting.
Override with:
```bash
apm install skill-name --target vscode
apm compile --target claude
</details>
|
thanks @danielmeppiel for putting this PR together the glibc issue solved on my end was moving from the Microsoft devcontainer's 24-bookworm to 24-trixie which has the glibc compatible version. Perhaps some notes on that on the README or on the failure could help agents/humans quickly understand the error and the go-to fix. |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
@copilot take this into account and improve docs "the glibc issue solved on my end was moving from the Microsoft devcontainer's 24-bookworm to 24-trixie which has the glibc compatible version. Perhaps some notes on that on the README or on the failure could help agents/humans quickly understand the error and the go-to fix." |
Agent-Logs-Url: https://github.com/microsoft/apm/sessions/aa1bd54d-ae2c-4ff4-b699-24ff933c8bec Co-authored-by: danielmeppiel <51440732+danielmeppiel@users.noreply.github.com>
…ance, fix broken code block Agent-Logs-Url: https://github.com/microsoft/apm/sessions/aa1bd54d-ae2c-4ff4-b699-24ff933c8bec Co-authored-by: danielmeppiel <51440732+danielmeppiel@users.noreply.github.com>
Updated in 52541ea. The troubleshooting section now:
|
|
Good stuff Daniel |
…t webhooks (#865) * ci: add merge-gate orchestrator (shadow) + stuck-PR watchdog PR #856 surfaced a structural CI fragility: required status checks are satisfied by two independent webhook channels (pull_request emits 'Build & Test (Linux)', pull_request_target emits the four Tier 2 stubs). When the pull_request delivery is dropped, 4/5 stubs go green and the 5th hangs in 'Expected -- Waiting' forever -- ambiguous yellow indistinguishable from a slow build. Recovery is folklore. This PR ships two safety nets in shadow mode: * .github/workflows/merge-gate.yml + scripts/ci/merge_gate_wait.sh Single orchestrator that polls the Checks API for 'Build & Test (Linux)' on the PR head SHA and aggregates into one verdict. Triggers on BOTH pull_request and pull_request_target so a single dropped delivery is recoverable; concurrency dedupes. Times out cleanly with a clear error message if Tier 1 never dispatched -- turning the invisible failure into a loud red check. NOT YET REQUIRED -- shadow observation first, ruleset flip after merge. * .github/workflows/watchdog-stuck-prs.yml + scripts/ci/watchdog_scan.sh Cron every 15 min. For open non-draft PRs with no ci.yml run on the head SHA AND non-paths-ignored files, posts one recovery comment. Backstop for any required check that stops dispatching. Tested live (dry-run) against microsoft/apm: watchdog correctly distinguishes stuck PRs (#853, #409) from docs-only PRs (#864, #461, #825). Both scripts shellcheck-clean. merge_gate_wait.sh tested end-to-end against PR #856 head SHA (success path, exit 0) and a non-existent SHA (timeout path, exit 2 with clear error annotation). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * ci(merge-gate): handle self-bootstrap and use checkout on pull_request Two fixes for the script-fetch step: 1. On 'pull_request' the runner has no secrets and a read-only token, so actions/checkout of PR head is safe -- use it for simplicity. We only need API-fetch under 'pull_request_target' where checkout would be a security risk. 2. On 'pull_request_target', when the script does not yet exist on base (i.e. THIS PR is the one adding it), curl returns 404 and we degrade to a self-bootstrap no-op pass instead of failing. Once the script lands on main, the gate becomes real. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * ci: address Copilot review feedback on PR #865 - merge_gate_wait.sh: use $EXPECTED_CHECK in failure annotation instead of hardcoded 'Build & Test (Linux)' so the orchestrator stays generic. - merge-gate.yml: add curl --retry/--max-time on the script bootstrap fetch so a transient GitHub API blip does not redden the gate. - watchdog_scan.sh: fail loudly with stderr capture if 'gh pr list' errors out, instead of silently treating it as zero PRs (which would hide auth regressions or rate limiting). - watchdog_scan.sh: paginate the changed-files API call so PRs touching >100 files cannot be misclassified as docs-only and skipped. - CHANGELOG: append (#865) to follow the repo convention. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * ci: drop watchdog -- gate's dual-trigger redundancy is sufficient The watchdog (cron every 15min, posts recovery comments on stuck PRs) was originally justified for the shadow-mode transition window. Since we are flipping to required immediately after this PR merges, that justification disappears. The merge-gate workflow already triggers on both 'pull_request' and 'pull_request_target' with concurrency dedup, so a single dropped webhook still fires the gate. The watchdog only added value for the double-drop case (both webhook channels fail for the same PR), which is vanishingly rare. We can add it back later if we ever observe one. Removes: - .github/workflows/watchdog-stuck-prs.yml - .github/scripts/ci/watchdog_scan.sh Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Description
Updates user-facing documentation to reflect recently merged behavior fixes from #456.
Features Documented
apm installnorapm compileadd skills from third-party transitive dependencies #447)Changes Made
Updated
docs/src/content/docs/getting-started/installation.md: Added troubleshooting entry for binary install failures on older Linux (devcontainers, Debian-based images). Uses a generic glibc version reference instead of hardcoding a specific version, explains the Bookworm/Ubuntu 24.04 mismatch as context, documents the automatic pip fallback behavior and PATH considerations, and includes a recommended fix for devcontainers (switch frombookwormtotrixie). Also fixed a broken markdown code block that was missing thepip installcommand and closing fence.Updated
docs/src/content/docs/guides/skills.md: Corrected Step 2 description and Target Detection table to accurately reflect presence-driven deployment. Copilot (.github/skills/) is always active; Claude, Cursor, and OpenCode only deploy when their root directory exists. Also clarifies that.opencode/skills/now receives skill deployments. Fixed Unicode em dash to ASCII per repo encoding policy.Updated
docs/src/content/docs/reference/lockfile-spec.md: Updated the lifecycle table to document thatapm installis idempotent -- the lockfile is only written when semantic content changes (dependencies, MCP servers/configs,lockfile_version), with no churn fromgenerated_atorapm_versionfields.Notes
All three changes are user-facing behavior fixes that were missing from docs. No breaking changes to document.
Type of change
Testing
📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.