Skip to content

feat: add file system drain adapter with log analysis skill#175

Merged
HugoRCD merged 4 commits intomainfrom
EVL-127
Mar 14, 2026
Merged

feat: add file system drain adapter with log analysis skill#175
HugoRCD merged 4 commits intomainfrom
EVL-127

Conversation

@HugoRCD
Copy link
Copy Markdown
Owner

@HugoRCD HugoRCD commented Mar 14, 2026

This pull request introduces the File System (FS) adapter for logging and updates the documentation and agent skills to reflect this addition. It also reorganizes skill documentation to use skills/review-logging-patterns as the main user-facing skill, and introduces a new analyze-logs skill for AI-assisted log analysis.

@HugoRCD HugoRCD requested a review from Copilot March 14, 2026 15:23
@HugoRCD HugoRCD self-assigned this Mar 14, 2026
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 14, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
evlog-docs Ready Ready Preview, Comment, Open in v0 Mar 14, 2026 3:34pm

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 14, 2026

Thank you for following the naming conventions! 🙏

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Mar 14, 2026

npm i https://pkg.pr.new/evlog@175
npm i https://pkg.pr.new/@evlog/nuxthub@175

commit: 43ed284

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new File System (FS) drain adapter to write evlog wide-events to local NDJSON files, along with documentation and an agent skill for AI-assisted log analysis.

Changes:

  • Introduce evlog/fs adapter with file rotation + retention cleanup + auto .gitignore.
  • Add skills/analyze-logs for reading .evlog/logs/*.jsonl and documenting analysis patterns.
  • Update docs/metadata/templates to reference the FS adapter and reorganized public skill naming.

Reviewed changes

Copilot reviewed 19 out of 26 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
skills/evlog/SKILL.md Adds FS adapter row to the drain adapters table.
skills/analyze-logs/SKILL.md New skill describing how to find and analyze FS drain output.
packages/evlog/tsdown.config.ts Adds build entrypoint for the FS adapter.
packages/evlog/test/adapters/fs.test.ts Adds unit tests for FS adapter behavior (gitignore, rotation, cleanup).
packages/evlog/src/adapters/fs.ts Implements the FS drain (write/rotate/cleanup/gitignore).
packages/evlog/package.json Exports evlog/fs entry and types mapping.
apps/playground/server/plugins/evlog-drain.ts Enables FS drain in the playground app.
apps/docs/content/4.adapters/7.fs.md New documentation page for the FS adapter.
apps/docs/content/4.adapters/1.overview.md Adds FS adapter link and overview card.
apps/docs/content/1.getting-started/4.agent-skills.md Updates skill list and adds log analysis section/prompts.
apps/docs/content/0.landing.md Adds mention of FS drain enabling local NDJSON for agents.
apps/docs/app/components/features/FeatureAgentReady.vue Updates “agent ready” pill to mention local NDJSON files.
apps/docs/app/components/features/FeatureAdapters.vue Updates feature blurb to include “+ File System”.
AGENTS.md Updates references to the new public skill path and adds analyze-logs.
.github/workflows/semantic-pull-request.yml Adds fs to allowed PR scopes.
.github/pull_request_template.md Documents fs as an allowed scope.
.agents/skills/create-framework-integration/SKILL.md Updates “update public skill” step to new skill path.
.agents/skills/create-enricher/SKILL.md Updates “update public skill” step to new skill path.
.agents/skills/create-adapter/SKILL.md Updates “update public skill” step to new skill path.
Comments suppressed due to low confidence (1)

apps/playground/server/plugins/evlog-drain.ts:1

  • createFsDrain() ultimately writes via async fs calls; invoking fsDrain(ctx) without await (and without making the hook handler async) can lead to unhandled rejections and/or the process finishing the hook before the write completes. Make the hook callback async and await fsDrain(ctx) (or return the Promise) so failures propagate and writes complete deterministically.
// import { createAxiomDrain } from 'evlog/axiom'

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

@HugoRCD HugoRCD merged commit aa18840 into main Mar 14, 2026
9 of 10 checks passed
@HugoRCD HugoRCD deleted the EVL-127 branch March 14, 2026 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants