Skip to content

chore(apm): migrate context and enable daily sync - #3462

Merged
odinr merged 1 commit into
mainfrom
chore/2474-apm-daily-sync
Oct 19, 2026
Merged

odinr merged 1 commit into
mainfrom
chore/2474-apm-daily-sync

Conversation

@odinr

@odinr odinr commented Oct 19, 2026

Copy link
Copy Markdown
Collaborator

🤖 Drafted with GitHub Copilot (Copilot SDK in VS Code) · model not reported

TL;DR: Restore reproducible agent context with explicit APM dependencies and replace both legacy callers with one daily shared APM sync, including weekends. Review the ownership reconciliation; remote PR/rerun/scheduled-run evidence remains a rollout requirement.

Component Development

Type

  • Feature
  • Fix
  • Hotfix (should release ASAP)
  • Maintenance (deps only)

Reference to assignment

Closes equinor/fusion-core-tasks#2474.
Parent: equinor/fusion-core-tasks#2469.
The task is assigned to odinr. Collect the outstanding rollout evidence before merging.

Description of assignment

Make the repository's declared agent context reproducible and keep it current through the supported shared workflow.
Replace the missing APM configuration and obsolete updater/discovery references without changing component behavior.

Description of Proposed Changes

Declare 27 individual skills using bounded #^1.9.0 dependencies, lock Fusion Skills v1.9.0,
and commit the generated context. Reconcile all 31 legacy entries: retain EDS with its actual
Fusion Skills provenance and map four deprecated entries to retained capabilities.
Preserve the unowned fusion-framework-mocking skill unchanged.

Call equinor/fusion-skills/.github/workflows/apm-sync.yml@main directly at 17 8 * * *,
retain manual dispatch and explicit write permissions, and remove both legacy callers.
Add restore/update/ownership guidance and ignore apm_modules/.
There is no consumer-owned updater, pin rewriter, PR implementation, or automatic discovery.

Validation: clean frozen restoration, all ten audit integrity/drift checks, actionlint,
a real local bounded update, and repeated no-change updates pass.
Limits: APM 0.29.0 skips organization-policy enforcement after an API redirect warning.
Resolve policy discovery with its owners before treating this as organization-policy approval.
Real update-PR reuse, reviewer-owned work preservation, and scheduled success remain unverified
until explicitly approved remote rollout. Component builds and Storybook are not run or changed.

Checklist

Create User Story(DevOps) or Issue(Github)

  • Describe functional requirements
  • Design plan/suggestion (e.g. images, link to eds design or relevant figma links, mention of eds tokens to use)
  • Communication with UX (evaluate if needed)

Development

  • Describe the component
  • Code funtional requirements
  • Create stories
  • Create snapshots (evaluate if needed)
  • Remove unused imports and commented code
  • Lint code with Biome (and follow best practises for code quality

Component descriptions, stories, snapshots, Biome, package builds, and package release steps are not applicable
to this agent-context/workflow-only change. UX communication is not needed.

Create Pull Request

  • Assign relevant reviewers in Github and Cromatic
  • Inform colleagues of pending reviews. We use Teams for this purpose, under fusion-frontend team please tag involved reviewers in the Code review channel

Review of Pull Request

  • Follow up on comments from code review and implement necessary changes (evaluate if needed)
  • Review approved in github (and chromatic)

Publish Code

  • Increment version number
  • Merge PR
  • Consider letting fusion developers know this this shiny new thing exists
Details: validation commands, reconciliation, and rollout

Validation uses the SHA-256-verified Microsoft APM 0.29.0 release, matching the reviewed shared workflow default:

Command/check Result
apm install Pass: 27 dependencies resolve to v1.9.0 / 40aa2ebfc983c92aed854725369013dc921dc30f.
apm install --frozen Pass in the worktree and a fresh empty-cache scratch repository; lockfile and deployed bytes match.
apm audit --ci Pass: all 10 integrity/consistency/drift checks; no missing deployed files or drift. Organization-policy enforcement skipped after the disclosed redirect warning.
apm update --yes (twice, worktree) Pass: no changes to manifest, lockfile, or deployed content.
apm install with a scratch v1.8.2 manifest, restore the bounded manifest, then apm update --yes Pass: all 27 resolve to v1.9.0; deployed file hashes and bytes match this migration.
apm install --frozen && apm audit --ci, then apm update --yes on the upgraded fixture Pass: coherent lock/deployment, ten audit checks, safe no-change rerun.
actionlint .github/workflows/apm-sync.yml Pass.
Inventory/hash/contract assertions Pass: all 31 legacy entries accounted for; exactly 27 managed skills plus preserved mocking skill; original EDS/mocking bytes unchanged; daily cron, manual trigger, permissions and thin caller match the requirement; no tracked modules or legacy callers.
git diff --cached --check One upstream warning: new blank line at EOF in .agents/skills/fusion-skills/CHANGELOG.md. Preserve upstream bytes and APM hash integrity rather than hand-editing the managed copy.
bun run build, bun run lint, Storybook Not run: no product/package/Storybook changes.

The local validation harness and logs are retained in the implementation session, not added as consumer tooling.
No global APM configuration was changed. Scratch validation repositories were removed automatically.

The legacy lock has 31 records but only 28 corresponding deployed directories.
The deprecated feature-toggling and feature/user-story authoring entries were already absent.
Backend consumption moves to retained fusion-core-services and fusion-research; no backend development preset is added.
The lock-absent mocking directory is preserved outside APM ownership, not silently enrolled.
See AGENT_CONTEXT.md for every retained path and deprecated mapping.

After approved publication, collect:

  1. A real allowed dependency-update PR with the complete coherent change.
  2. A rerun proving that PR is reused and reviewer-owned work survives.
  3. A no-change run proving no empty commit/duplicate PR.
  4. A successful scheduled run on the default branch, including enabled weekend scheduling.

The latest historical failed run has zero jobs; no runtime root cause is claimed.
No push, PR, issue/comment mutation, dispatch, policy change, credential change, or remote branch creation
was performed during local implementation.

References and evidence
  • equinor/fusion-core-tasks#2474 and equinor/fusion-core-tasks#2469: complete task/story bodies and comments read.
  • Fusion Skills migration: ownership reconciliation, bounded constraints, frozen install and audit.
  • Shared APM Sync: supported caller contract, APM default, update branch, no-force-push and PR behavior.
  • Historical failed run: failure with zero jobs; runtime diagnosis remains unverified.
  • Base 2743ca3443c5a6c3c21aad4a00e7e03cf49d3b5d: 31-entry legacy lock, 29 deployed skill directories, no tracked repository agent/instruction files outside skills.
  • Fusion Skills v1.9.0 source and Git history: actual EDS provenance, deprecated replacements, prior mocking discovery PR chore(skills): add skill fusion-framework-mocking #3380.
  • Repository contribution guide and PR template: preserved template structure and scoped validation.
  • Skills used: fusion-issue-solving, fusion-skills (greenkeeper routing guidance), fusion-code-conventions (Markdown conventions), fusion-agent-content (writing, folded evidence and pre-post checklist).
  • GitHub reads used gh, reused cached issue/source evidence, and performed no mutations. No subagents were used.

Declare bounded skill dependencies and reconcile legacy ownership while preserving EDS and unowned context. Replace obsolete callers with the supported daily shared APM workflow.

Refs: equinor/fusion-core-tasks#2474
@odinr odinr self-assigned this Oct 19, 2026
@changeset-bot

changeset-bot Bot commented Oct 19, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: ce6e2f1

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@odinr
odinr merged commit 8bf6b45 into main Oct 19, 2026
4 checks passed
@odinr
odinr deleted the chore/2474-apm-daily-sync branch October 19, 2026 06:18
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.

1 participant