This repository is operated by AI agents working in a coordinated workflow.
This repository contains pqc-scan, a Rust-based static analysis tool designed to detect Post-Quantum Cryptography (PQC) migration risks in software.
Key characteristics:
- written in Rust
- CLI-based security scanner
- scans repositories for cryptographic usage
- produces PQC migration reports
- rule-based detection system
Security and correctness are critical.
- Planner Agent
- selects tasks
- generates execution plans
- Executor Agent
- implements code changes
- writes tests
- Reviewer Agent
- evaluates code quality
- ensures architecture consistency
- Evaluator Agent
- validates builds and tests
- Reflection Agent
- extracts lessons learned
- Monitor Agent
- detects system issues
- creates new tasks
Agent behavior templates are defined in:
- prompts/PLANNER.md
- prompts/EXECUTOR.md
- prompts/REVIEWER.md
- prompts/EVALUATOR.md
- prompts/REFLECTION.md
Agents must follow the instructions defined in these files.
Agents collaborate using a shared task queue as below.
- Planner selects tasks from the queue
- Executor implements tasks
- Reviewer reviews changes
- Evaluator runs validation checks
- Reflection updates knowledge
- Monitor creates tasks from system signals
Tasks are stored in the tasks/ directory as YAML files.
See tasks/README.md for details.
Task lifecycle: pending → planned → in-progress → review → done
Optional status:
- blocked
Agents must only update statuses according to their roles.
Agents must review the following before executing work:
README.mdREADME.ja.mddocs/architecture.mddocs/rules-reference.md(when modifying rules)
Agents must also consult knowledge documents:
docs/architecture.mddocs/BEST-PRACTICES.mddocs/DECISIONS.mddocs/MISTAKES.mddocs/PATTERNS.mddocs/TASK-LIFECYCLE.md
Rust toolchain must match rust-toolchain.toml.
Typical commands:
# Build
cargo build --workspace
# Test
cargo test --workspace
# Format
cargo fmt --all
# Lint
cargo clippy --workspace --all-targets -- -D warnings
# Example CLI run
cargo run --bin pqc-scan -- scan ./examples --format all --out-dir ./target/pqc-report --rules-dir ./rulesRules are stored in:
rules/default/*.yml
When modifying rules:
- rule IDs must be unique
- rule schema must remain valid
- update
docs/rules-reference.mdwhen necessary
Agents must never:
- expose private key material
- log sensitive cryptographic data
- weaken cryptographic checks
Output formats must remain stable because external systems may rely on them.
Changes to report formats require updates to:
README.mdREADME.ja.md
Agents must follow secure coding practices:
- validate all inputs
- avoid exposing secrets
- maintain cryptographic integrity
- respect API compatibility
- prefer small safe changes
- ensure tests exist for new logic
- avoid large refactors without planning
- maintain backward compatibility
README.md must be written in English.
README.ja.md must be written in Japanese.
If user-facing behavior changes:
- update both README files.
Reflection agents may update documents in the docs folder when durable insights are discovered.
Avoid duplicate knowledge.
Before marking a task complete:
cargo fmt --allcargo test --workspacecargo clippy --workspace --all-targets -- -D warnings(when necessary)- update documentation when behavior changes
Agents must stop execution if:
- high-risk architectural changes are required
- cryptographic logic is modified without clear specification
- rule system changes could break compatibility
- storage formats change
In such cases human review is required.