Skip to content

ci-review: run log for skilld-dev/skilld.dev #563

Open

Description

@harlan-github-agent

Every run of the ci-review routine reports here, including the runs that found nothing and the runs that were skipped.

Close a proposal's own issue to reject it. Closing this one stops the log, not the routine.

The Harlan Agent Kit opened this issue automatically. It is not Harlan's own report.

Activity

  1. harlan-github-agent commented on Oct 7, 2026

    @harlan-github-agent
    ContributorAuthor

    2026-10-01T22:00:00.000Z — Skipped. This run was due more than 6 hours ago, so it was skipped.

  2. harlan-github-agent commented on Oct 8, 2026

    @harlan-github-agent
    ContributorAuthor

    2026-10-08T21:00:00.000Z — ci-review on skilld-dev/skilld.dev | 3 found | 3 new | 0 already known | 0 outside allowed scope | 0 over 5 files | 3 issues requested

    ci-review scan: skilld-dev/skilld.dev

    Coverage: incomplete. Window 2026-10-01T21:00Z..2026-10-08T21:00Z. The repository has 1142 workflow runs in the window (API total); the scan limit of 100 newest runs was reached, covering 2026-10-07T06:01Z..2026-10-08T16:21Z. Excluded by the limit: ~1042 older in-window runs (mostly PR Test runs and by-design Deploy noop runs). Open PRs #321/#320/#318 last ran checks 2026-09-30, outside the window. gh run view --log returned empty output for this token, so per-job logs were fetched through the jobs REST endpoint instead: full logs for all 128 success/failure jobs of the 32 selected runs (15 push-main Test runs, 16 success Deploy runs, PR #560 Test run 37579712127), all attempt 1. Cancelled Test runs (4) and skipped Deploy noop runs (~13 in scope) were not log-reviewed: both outcomes are the workflows' documented concurrency behavior. No failed or timed-out run exists in the reviewed scope.

    Reviewed runs (attempt 1, all conclusions success unless noted)

    • Test push-main: 37807825636, 37803762754, 37801615456, 37797469127, 37780669768, 37763046034, 37762403126, 37751209875, 37715498698, 37715242829, 37651468036, 37589022107, 37582590128, 37581302041, 37579687657 (https://github.com/skilld-dev/skilld.dev/actions/runs/)
    • Deploy to Cloudflare (workflow_run, main): 37808195339, 37804036642, 37801857018, 37797970010, 37780916766, 37763306776, 37762584072, 37751445645, 37715674472, 37715485528, 37651761981, 37589216403, 37582776923, 37581478101, 37579843624, 37579501985
    • Test PR docs(work): add Reddit launch brief #560: 37579712127. Deploy noop example 37807978559 (skipped; controller log evidence unavailable, no diagnostic value: job skips by condition).

    Candidates (repo repairs)

    1. SkillBehaviors undefined prop — Run 37763046034 (attempt 1, first seen) through 37807825636 (attempt 1, latest main 324d014), job site / test, step Run pnpm test:run: stderr of test/unit/skill-detail-duplicate-canonical-path.nuxt.test.ts shows [Vue warn]: Invalid prop: type check failed for prop "behaviors". Expected Array | Null, got Undefined at <SkillBehaviors behaviors=undefined> (3 per run since 2026-10-08T10:22Z; introduced with 6b120f6 fix(registry): preserve root Skill snapshots #573, which renders the panel for raw snapshots whose sourceFacts lack behaviors). Current HEAD still binds :behaviors="data.sourceFacts.behaviors" under v-if="data.raw || behaviors.length". Fix: coalesce to null at the binding (and optionally type the field optional).
    2. Mdxg router spec outside setup — every reviewed Test run from 37579687657 (2026-10-07T06:06Z) onward, attempt 1, job site / test, step Run pnpm test:run: stderr of modules/mdxg/test/document-router.spec.ts shows [Vue warn]: onBeforeUnmount is called when there is no active component instance (7 per run, 112 total). The spec calls useMdxgDocumentRouter() bare, so its onBeforeUnmount never registers and each test leaks a popstate listener. Fix: run the composable inside a component instance (withSetup-style helper) in the spec.
    3. Extensionless TS imports force jiti fallback — every reviewed run's postinstall/prepare, e.g. 37807825636 attempt 1 job site / test step Run pnpm install/dev:prepare and deploy job 37808195339 postinstall: [NUXT_B5023] nuxt.config.ts ... Cannot find module 'layers/marketing/app/utils/agent-pages', [NUXT_B8023] modules/og-static-fonts ... './sync', [NUXT_B8023] modules/file-icons ... '../../shared/file-icons' (up to 5 emissions per run). Cause: extensionless relative TS imports; Nuxt native loading fails and jiti re-transforms. Fix: explicit .ts extensions in nuxt.config.ts, modules/og-static-fonts/module.ts, modules/file-icons/module.ts.

    No matching open or closed issue exists for any candidate (searched open issues plus closed-issue keyword matches; prior ci-review run in #563 was skipped and filed nothing).

    Accepted noise (no repo change)

    • Canceled Test runs / skipped Deploy runs: documented concurrency behavior in .github/workflows (test cancel-in-progress; deploy noop groups). Evidence: workflow comments and outcome pattern.
    • Deploy ::error/::warning strings in job logs: echoed script text of the nuxt-dx budget step, not emitted annotations.
    • eslint warnings, 142→147 across 16 lint runs: harlanzw/ai-deslop-* doc-style rules plus a few jsdoc/prefer-satisfies advisories over 43 files, dominated by immutable ADRs and historical ops ledgers (docs/adr/, docs/ops/); AGENTS.md marks ADRs immutable. A repair would exceed the 5-file candidate limit. Trend is upward ~1 warning per doc PR; worth a policy decision later, not a defect.
    • pnpm v10 layout warning (every job, pnpm/action-setup shim refresh): runner tooling, next actor is the pinned actions in harlan-zw/harlan-nuxt or pnpm/action-setup, not this repo.
    • DEP0005 Buffer() deprecation (16 deploy jobs, nuxt-dx budget artifact download): external @harlan-zw/nuxt-dx CLI, next actor that repo.
    • mcp-toolkit "No MCP definitions found" (98 emissions, prepare in every job): upstream loader totals only file-based tools/resources/prompts/handlers and ignores the loaded default handler; this repo serves MCP through layers/mcp/server/mcp/index.ts via defineMcpHandler (verified in source and by passing webmcp tests). Next actor: @nuxtjs/mcp-toolkit upstream.
    • nuxt-ai-ready "SPA mode" / og-image "SSR disabled" (test jobs): vitest Nuxt environment advisories; production deploys build SSR with prerender.
    • skew-protection "No previous versions found" (once, deploy build 2026-10-07T06:xx): cold skew cache; the next deploy restored nuxt-skew-prod-* and saved a fresh key (run 37808195339 log).
    • INEFFECTIVE_DYNAMIC_IMPORT TrendingBoardItem (26 build emissions): deliberate eager head row plus Lazy tail in BoardRankedList.vue; the compiler statically imports the eager form either way, and hydrate-on-visible still defers tail hydration, so the stated perf goal holds.
    • wrangler posture warnings on every deploy build (cpu-limit-raised 300s; queue max_retries 100/4; workers-cache-assets-billable; observability logs head_sampling_rate 1; nitro assets override): each is a documented deliberate choice with rationale comments in wrangler.jsonc and the workflow; cost posture is a human decision, next actor Harlan.
    • plaintext-secret-var for ARTIFACT_KEY_WRAP_KEY_(ACTIVE_SLOT|PRIMARY_ID|SECONDARY_ID): heuristic name match; inspected the named settings only and confirmed they hold non-secret identifiers (a slot label and key IDs), not key material. No secret value is present, so no repair proposed; rotation runbook depends on these vars.
    • Vitest stderr in failure-path tests (artifact-delivery/like-button/avatar-error specs): expected negative-test output; tests pass.
    • Edge cache MISS→HIT pairs and "Harness Worker matches 430914d" in deploy logs: expected first-visit/hit proof and unchanged-worker skip, by design.

    Verdict

    AMBER: every CI check in scope passed and every deploy succeeded, but three warning-level repository defects are current on main (one runtime prop warning, one test-hygiene warning with a listener leak, one build-hydration noise class). Coverage is incomplete per the 100-run cap stated above.

    Since run 37763046034 (attempt 1, 2026-10-08T10:22Z, commit 6b120f6 #573) through latest main run 37807825636 (attempt 1), job site / test, step Run pnpm test:run, test/unit/skill-detail-duplicate-canonical-path.nuxt.test.ts logs [Vue warn]: Invalid prop: type check failed for prop "behaviors". Expected Array | Null, got Undefined at <SkillBehaviors behaviors=undefined>, because SkillDetail.vue binds :behaviors="data.sourceFacts.behaviors" under v-if="data.raw || behaviors.length" and raw snapshots lack the field; the binding must coalesce undefined to null.

    Target: layers/registry/app/components/SkillDetail.vue

    Verify with: pnpm exec vitest run test/unit/skill-detail-duplicate-canonical-path.nuxt.test.ts 2>&1 | grep -c 'Invalid prop: type check failed for prop "behaviors"' returns 0

    Estimated to change 1 file.


    In every reviewed Test run from 37579687657 (attempt 1, 2026-10-07T06:06Z) to 37807825636 (attempt 1), job site / test, step Run pnpm test:run, modules/mdxg/test/document-router.spec.ts emits [Vue warn]: onBeforeUnmount is called when there is no active component instance 7 times per run (112 total) because the spec calls useMdxgDocumentRouter outside setup, so the cleanup hook never registers and each test leaks a popstate listener on window.

    Target: modules/mdxg/test/document-router.spec.ts

    Verify with: pnpm exec vitest run modules/mdxg/test/document-router.spec.ts 2>&1 | grep -c 'onBeforeUnmount is called' returns 0

    Estimated to change 1 file.


    Every reviewed run's install/prepare step (e.g. run 37807825636 attempt 1, job site / test, steps Run pnpm install --frozen-lockfile --ignore-scripts and Run pnpm dev:prepare; also deploy job of 37808195339) emits NUXT_B5023 for nuxt.config.ts importing ./layers/marketing/app/utils/agent-pages and NUXT_B8023 for modules/og-static-fonts/module.ts importing ./sync and modules/file-icons/module.ts importing ../../shared/file-icons, all extensionless TS paths that Node native loading cannot resolve, so Nuxt re-transforms them through jiti; adding explicit .ts extensions restores native loading.

    Target: nuxt.config.ts, modules/og-static-fonts/module.ts, modules/file-icons/module.ts

    Verify with: pnpm dev:prepare 2>&1 | grep -cE 'NUXT_B(5023|8023)' returns 0

    Estimated to change 3 files.

  3. harlan-github-agent commented on Oct 15, 2026

    @harlan-github-agent
    ContributorAuthor

    2026-10-15T21:00:00.000Z — ci-review on skilld-dev/skilld.dev | 1 found | 1 new | 0 already known | 0 outside allowed scope | 0 over 5 files | 1 issues requested

    CI review

    Coverage: incomplete. Window: 2026-10-08T21:16Z to 2026-10-15T21:16Z.

    • Default branch: main.
    • Reviewed 100 newest runs, the configured cap: 65 success, 5 failure, 2 cancelled, 28 skipped.
    • Read full logs for all 72 non-skipped runs. GitHub returned no logs for the 28 skipped deploy runs.
    • The cap excluded older runs in the seven-day window. No claim covers those omitted runs.
    • Open issues and PRs were checked. No open work owns the three Candidates.

    Current baseline

    Latest main checks passed:

    Findings

    • Recurring lint warnings, actionable: latest site / lint reported 154 warnings with no errors. Three current one-file source warnings are Candidates below. They recur in 48 reviewed Test logs.
    • Other lint warnings, no Candidate: Markdown style, documentation, and broader lint backlog span more than five files. They are non-blocking maintenance and are outside the Candidate file limit.
    • Node Buffer deprecation, no Candidate: successful deploys, including run 38521163057, emit DEP0005 while GitHub downloads the Nuxt DX artifact. The repository command has already completed. This is action/runtime dependency noise; no repository-owned target was proven.
    • Deploy failure resolved: run 38378730673, attempt 1, failed deploy → pnpm production:edge-cache because ten cache probes lacked ETags. Run 38392204556, attempt 1, then failed two cache probes by timeout. The later successful deploy completed the same check with warnings: []. No regression evidence.
    • Closed PR failures resolved: run 38422097905, attempt 1, failed its PR lint on one test-line style error. Run 38436534816, attempt 1, failed its PR lint on three template-style errors. Their fixes reached main in fix(registry): reject missing repositories before public SSR #648 and fix(markdown): include rendered marketing content #652; current Test passed.
    • Operational timeout: Weekly social 38292576693, attempt 1, timed out in weekly (discord) → Publish. The Discord setting existed; X settings did not. This is an external publish failure, not a source defect. Next actor: service owner, inspect the saved run receipt and endpoint health.
    • Cancelled runs: 38336947826 and 38392079927 produced no repository diagnostic before cancellation.

    No secrets were displayed.

    layers/registry/server/data/clusters.ts#RENAMED_CLUSTER_SLUGS: In successful Test run 38520943548, attempt 1, site / lint warns that RENAMED_CLUSTER_SLUGS: Record<string, string> discards its known keys, so use satisfies to retain the literal key type.

    modules/mdxg/src/runtime/components/MdxgPageView.vue#MarkdownDocument-auto-import: In successful Test run 38520943548, attempt 1, site / lint warns that MarkdownDocument is redundantly imported from #components although Nuxt auto-imports it for the template.

    scripts/summarize-classifications.ts#buckets: In successful Test run 38520943548, attempt 1, site / lint warns that buckets: Record<string, number> discards its known keys, so use satisfies to retain them.

    Target: layers/registry/server/data/clusters.ts, modules/mdxg/src/runtime/components/MdxgPageView.vue, scripts/summarize-classifications.ts

    Verify with: pnpm exec eslint layers/registry/server/data/clusters.ts --max-warnings 0 && pnpm exec eslint modules/mdxg/src/runtime/components/MdxgPageView.vue --max-warnings 0 && pnpm exec eslint scripts/summarize-classifications.ts --max-warnings 0

    Estimated to change 3 files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions