Source guide drawn from the files in this repository; not a runtime screenshot or a fresh benchmark.
Small Python utilities for checking artifacts and detecting when inputs change. AgentForge contains file hashing, a persistent hash store, artifact metadata, and lightweight validators. These are building blocks for automation workflows, not an installable multi-agent framework or an LLM runtime.
| Capability | Source-backed behavior |
|---|---|
| File hashing | Stream a file through SHA-256, SHA-1, or MD5; optionally persist the digest. |
| Change checks | Compare a caller-supplied hash with a JSON store and report NEW, UNCHANGED, or CHANGED. |
| Artifact management | Write UTF-8 text plus a .meta.json sidecar; read or recursively list files. |
| Contract validation | Check text directives, a minimal JSON key/type contract, or CSV columns and row bounds. |
| Monitor example | Illustrate hash-based no-op detection using an installation-specific script. |
The utilities use Python's standard library. There is no package manifest,
requirements.txt, or agentforge.Forge implementation in this repository.
Use Python 3 and run the scripts directly from the repository root:
git clone https://github.com/MdSadman2004/AgentForge.git
cd AgentForge
python src/artifact_hash.py README.md
python src/artifact_manager.py list --dir src
python src/validate_artifact.py --helpHashing defaults to SHA-256. MD5 and SHA-1 are compatibility options, not recommendations for security-sensitive integrity checks.
These commands create a demo file and its metadata sidecar:
python src/artifact_manager.py write --path demo-output/note.txt --content "Example artifact"
python src/artifact_manager.py read --path demo-output/note.txtwrite replaces an existing artifact at the supplied path.
Use a disposable output directory when experimenting.
The following uses an illustrative caller-supplied token, not a file digest:
python src/change_detector.py --store demo-output/hashes.json --key example --hash demo-v1
python src/change_detector.py --store demo-output/hashes.json --key example --hash demo-v1 --action store
python src/change_detector.py --store demo-output/hashes.json --key example --hash demo-v1The first check reports NEW; storing is a separate action.
For real change detection, pass the digest emitted by artifact_hash.py.
The parser uses --store and --action; it has no --check argument.
| Start here | Purpose |
|---|---|
| Hash utility | Chunked file hashing and optional digest output. |
| Change detector | JSON hash store and explicit check/store actions. |
| Artifact manager | Text files, sidecar metadata, and recursive listing. |
| Validator | Contract formats, supported directives, and exit codes. |
| Monitor demo | Installation-specific no-op monitor example. |
| Historical verification note | Notes about a wider local Hermes setup, not bundled skills. |
| Demo analysis report | Recorded example comparison; not a reproducible benchmark suite. |
- No planner, agent classes, vector-memory service, or model integration is bundled.
- The JSON validator implements its own limited contract, not the JSON Schema standard. YAML extensions select text-rule validation; there is no YAML parser.
- CSV row bounds count physical lines, so multiline CSV fields need extra care.
- Hash-store writes are not locked or transactional; concurrent writers can race.
monitor_demo.pyhardcodes Windows paths outside the checkout. Adapt those paths before use. Its implemented change branch exits0, despite its header describing exit code2; it does not check subprocess failures.- The demo scores and
SYSTEM_VERIFIED.mddescribe historical artifacts and a broader local installation. The underlying datasets, evaluation generators, and referenced Hermes skills are not included here. - No tests or benchmark reproduction were run for this documentation refresh.
Original README notice: MIT © Md Sadman Bin Masud.
No standalone license file is present. This refresh preserves the existing
notice without adding license terms or changing the project's licensing.
