Skip to content

Never invent agents in someone else's repository - #61

Merged
blocksifrdev merged 1 commit into
mainfrom
fix/never-fabricate-agents
Sep 15, 2026
Merged

blocksifrdev merged 1 commit into
mainfrom
fix/never-fabricate-agents

Conversation

@blocksifrdev

Copy link
Copy Markdown
Collaborator

I tested the path a reader actually takes before we announce anything: no clone, just npx @blocksifr/pctr init && scan in a normal Express app with no agents in it at all.

It reported 5 agents, 3 tools and a CRITICAL consequence on customers.delete — in the identical format as a real finding. The only hint was one dim line during init that scrolls past.

For a tool whose whole proposition is telling you what is really there, appearing to invent findings is the worst failure available. Anyone technical who tried our published quickstart on their own project would have concluded it fabricates — and they'd have been right.

Changes

  • init no longer writes the example when discovery finds nothing. It says no agents were found, names what it looks for (MCP servers; OpenAI, Claude, LangGraph, CrewAI, AutoGen, AGT declarations), and points at --example.
  • The example is opt-in, and the manifest it writes is marked "example": true.
  • scan prints an unmissable banner on an example manifest, and refuses to render a scan at all when no agents are declared.
  • The shared Markdown report carries the same warning above anything that reads as a finding — that report travels into other people's pull requests.
  • The GitHub Action inherits it: a repo with no agents now produces an empty scan, not a false report.

Before / after, same empty project

Agents found          5          →   No agents found in this project.
CRITICAL              1              PCTR looks for MCP servers, and for agent and
Highest priority:                    tool declarations in your source…
customers.delete                     pctr init --example  (made-up agents, clearly labelled)

Discovery on a project that does have agents is unchanged — still finds the MCP tools and CrewAI agent in the fixture.

195 tests. Version bumped to 0.1.1 for publishing.

🤖 Generated with Claude Code

Testing the path a reader actually takes: clone-free, `npx
@blocksifr/pctr init && scan` in a normal Express app with no agents in
it at all. PCTR reported 5 agents, 3 tools and a CRITICAL consequence on
customers.delete, in the same format as a real finding. The only hint was
one dim line during init that scrolls past.

For a tool whose entire proposition is telling you what is really there,
appearing to invent findings is the worst failure available. Anyone
technical who tried the published quickstart on their own project would
have concluded it was fabricating, and they would have been right.

- init no longer writes the example when discovery finds nothing. It
  says no agents were found, names what it looks for, and points at
  --example.
- The example is opt-in, and the manifest it writes is marked
  "example": true.
- scan prints an unmissable banner for an example manifest, and refuses
  to render a scan at all when no agents are declared.
- The shared Markdown report carries the same warning above anything that
  reads as a finding — that one travels into other people's pull
  requests.
- The GitHub Action inherits the behaviour: a repository with no agents
  now produces an empty scan rather than a false report.

195 tests. Published as 0.1.1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@blocksifrdev
blocksifrdev merged commit 42f3a41 into main Sep 15, 2026
2 checks passed
@blocksifrdev
blocksifrdev deleted the fix/never-fabricate-agents branch September 15, 2026 16:28
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