Commit Graph

289 Commits

Author SHA1 Message Date
ezl-keygraph 24862ddc9b chore: mark the pi harness migration as a breaking change
BREAKING CHANGE: Google Vertex AI is no longer a supported provider. The
CLAUDE_CODE_USE_VERTEX, ANTHROPIC_VERTEX_PROJECT, CLOUD_ML_REGION, and
GOOGLE_APPLICATION_CREDENTIALS environment variables, along with the
use_vertex, vertex_project, and cloud_ml_region config.toml keys, are
removed. Vertex users must switch to Anthropic, AWS Bedrock, or a custom
Anthropic-compatible base URL.

The CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable and the
max_output_tokens config.toml key are also removed.
2026-07-16 19:07:21 +05:30
ezl-keygraph b24caf8ae2 style(cli): collapse usage hint now that the beta tag is gone 2026-07-16 18:58:27 +05:30
ezl-keygraph 934a0ddd79 Merge remote-tracking branch 'origin/main' into feat/pi-harness-migration
# Conflicts:
#	CLAUDE.md
#	README.md
#	apps/cli/src/commands/start.ts
#	apps/cli/src/commands/uninstall.ts
#	apps/worker/src/services/agent-execution.ts
#	apps/worker/src/services/preflight.ts
#	apps/worker/src/session-manager.ts
#	apps/worker/src/temporal/activities.ts
#	apps/worker/src/temporal/shared.ts
#	apps/worker/src/temporal/workflows.ts
#	docs/ai-providers.md
#	llms-full.txt
2026-07-16 18:58:18 +05:30
ezl-keygraph d0b0ec3378 refactor(worker): converge shared core with shannon-oss (#388)
* fix(worker): port keygraph shared-core correctness fixes

* refactor(worker): adopt collectors/ and ai/pi/ layout; add task budget cap and cancellation

* refactor(worker): drop inconsistent Collector "Server" suffix

* refactor(worker): drop unused providerConfig/apiKey seams, resolve credentials from env only

* refactor(worker): port oss code_path pattern expansion + external_directory allow

* fix(worker): preserve dotfile paths in code_path avoid patterns (.env no longer stripped to env)

* feat(worker): render Unprocessed Vulnerabilities section in exploit deliverable (align with oss)

* feat(worker): request set_blind_spots for all vuln classes (align auth/ssrf with production prompts)

* refactor(worker): adopt unified permissionSystem* naming and helper layout

* refactor(worker): inline blind_spots into vuln deliverable section array

* chore(worker): drop unused zod dependency (tree is typebox-native)

* fix(worker): normalize base32 TOTP secret to accept padding and whitespace

* refactor(worker): adopt shared toolResult helper and flatSchema naming in collectors

* refactor(worker): use undefined over null in queue-schema builders

* docs(worker): converge renderer/collector doc comments to current pi terminology

* refactor(worker): adopt schema.ts cleanInput/stringEnum helpers in collectors

* feat(worker): converge exploit-collector/renderer with vendored; capture and render overview for blocked findings

* refactor(worker): converge session-tools/pipeline/exploitation-checker with vendored

* refactor(worker): converge task-tool usage reporting with vendored onUsage callback

* refactor(worker): converge structured output onto a submitTool executor channel

* docs(worker): expand exploit-renderer docstring to match shannon-oss

* docs(worker): adopt richer vuln-renderer docstring from shannon-oss

* docs(worker): neutralize billing-detection wording for shannon-oss parity

* fix(worker): verify checkpoint hash in the deliverables clone being reset

* fix(worker): fail fast on malformed exploitation queue JSON

* fix(worker): honor retryable flag when classifying exploitation-queue check failures

* fix(worker): fail fast on corrupted session.json in run-scope validation

* feat(worker): propagate Temporal cancellation signal into agent and auth pi sessions

* fix(worker): mark exploit agent complete when exploitation is skipped so resume skips it

* prompts: drop scan description from executive report prompt

* refactor(worker): add createGenericSubmitTool for raw JSON-schema submit tools

* refactor(worker): gate playwright-cli skill to browser agents via skillsOverride (adopt shannon-oss mechanism)

* docs(worker): correct formatLogTime comment to UTC to match toISOString

* refactor(worker): converge queue-schemas with shannon-oss (guarded count, decl order)

* refactor(worker): converge task-tool with shannon-oss (byte-identical; modelRegistry optional)

* fix(worker): use replaceLiteral for all prompt value insertions to prevent $-mangling

* fix(worker): classify agent execution failures by error type instead of hardcoding validation

* fix(worker): cap auth-failure detail at 250 chars to match shannon-oss

* style(worker): apply biome formatting

* refactor(worker): remove per-session task delegation cap from task tool
2026-07-16 14:09:02 +05:30
ezl-keygraph 00e56455df feat(cli): restructure run folder and improve terminal UX (#384)
* feat: surface report at run root and nest run internals under .shannon

* feat: use plain-language wording in user-facing terminal messages

* feat(cli): guide users to watch scan progress and surface report path on start

* docs: sync run-folder layout and CLI wording across docs and comments

* feat(cli): add version command reporting package version or git SHA

* feat(cli): detect TTY for interactive prompts, color, and progress output

* docs: document --yes flag, version command, and tty module

* fix(cli): FORCE_COLOR precedence and plain uninstall --yes output

* fix(cli): respect empty NO_COLOR

* fix(cli): let NO_COLOR take precedence over FORCE_COLOR

* docs: mark claude-code-router integration as removed
v1.9.0
2026-07-04 21:14:04 +05:30
ezl-keygraph b845936aa5 feat(cli): restructure run folder and improve terminal UX (#383)
* feat: surface report at run root and nest run internals under .shannon

* feat: use plain-language wording in user-facing terminal messages

* feat(cli): guide users to watch scan progress and surface report path on start

* docs: sync run-folder layout and CLI wording across docs and comments

* feat(cli): add version command reporting package version or git SHA

* feat(cli): detect TTY for interactive prompts, color, and progress output

* docs: document --yes flag, version command, and tty module

* fix(cli): FORCE_COLOR precedence and plain uninstall --yes output

* fix(cli): respect empty NO_COLOR

* fix(cli): let NO_COLOR take precedence over FORCE_COLOR

* docs: mark claude-code-router integration as removed
2026-07-04 21:14:00 +05:30
ezl-keygraph 5596411bd3 fix: render agent deliverables before the success commit so resume preserves them (#377) 2026-06-23 14:25:17 +05:30
ezl-keygraph 5a2f78c5d9 fix: render agent deliverables before the success commit so resume preserves them (#376) v1.8.1 2026-06-23 14:25:09 +05:30
ezl-keygraph 7abcc1d3e1 docs: rename shn command references to npx @keygraph/shannon (#375) 2026-06-23 14:24:38 +05:30
ezl-keygraph 4be4853fd3 feat(preflight): support multi-repo targets by removing .git check (#371) v1.8.0 2026-06-23 01:17:41 +05:30
george-keygraph cb6cbf101d Merge pull request #369 from KeygraphHQ/fix/disambiguate-keygraph-company-vs-platform
docs: distinguish Keygraph (company) from the Keygraph platform (product) across README, docs, and llms files
2026-06-19 17:29:29 -07:00
george-keygraph 63ca5604a1 docs: extend Keygraph company/platform disambiguation to docs and llms mirrors
Apply the same convention from the README pass across the rest of the
repo content so the company and the product are never conflated:
company -> "Keygraph", commercial product -> "the Keygraph platform".

- docs/keygraph-platform.md: retitle "# Keygraph" -> "# Keygraph Platform"
  and refer to the product as "the Keygraph platform" throughout (the
  page is the platform overview, not a company page).
- docs/coverage-roadmap.md, docs/safety.md: product references updated;
  the "Keygraph is not responsible for misuse" line stays as the company.
- llms.txt / llms-full.txt: kept in sync with the README and docs they
  mirror, so the combined-context files don't reintroduce the conflation.

No filenames changed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 17:27:24 -07:00
george-keygraph 8fb62a59d6 docs: distinguish Keygraph the company from the Keygraph platform in README
The README used "Keygraph" to refer to both the company and the
commercial product, most visibly in "About Keygraph" ("Keygraph...
builds Keygraph"). Refer to the company as "Keygraph" and the
commercial product as "the Keygraph platform" throughout, so the two
are no longer conflated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 17:03:41 -07:00
keygraphVarun c259a34ed9 Merge pull request #368 from george-keygraph/docs/readme-and-shannon-naming 2026-06-19 16:54:26 -07:00
george-keygraph 10b26355be docs: align README and docs with Shannon / Keygraph naming
Replace the README with the marketing-reviewed version and bring the
project onto one consistent naming scheme:

- "Shannon Lite" -> "Shannon" (the open-source CLI is just Shannon)
- "Shannon Pro" -> "Keygraph" (the commercial platform)
- Rename docs/shannon-pro.md -> docs/keygraph-platform.md and fix the
  internal link, matching the README's link target.
- Regenerate llms.txt and llms-full.txt from the updated README and docs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 13:58:36 -07:00
ezl-keygraph 82b5278541 docs(readme): point top note to the Pi harness beta discussion (#359) 2026-06-19 00:02:19 +05:30
ezl-keygraph 6a86b6c4c3 fix(cli): pin npx command hints to beta tag 2026-06-17 18:30:02 +05:30
ezl-keygraph fb14a0170a ci: bump the beta release line to 2.0.0 (#356) 2026-06-17 18:09:27 +05:30
ezl-keygraph 8b956c9972 ci: bump the beta release line to 2.0.0 (#356) 2026-06-17 18:06:13 +05:30
ezl-keygraph cf396fb9c7 feat(worker): enforce bounded bash timeouts via pi extension 2026-06-16 12:48:32 +05:30
ezl-keygraph f97afb482e refactor(worker): unify provider precedence between preflight and executor 2026-06-15 23:06:48 +05:30
ezl-keygraph c2bceba95c docs(worker): update stale sdk comments 2026-06-15 22:50:44 +05:30
ezl-keygraph 7c20384991 docs: remove vertex references from llms context 2026-06-15 22:48:59 +05:30
ezl-keygraph 0bc004a583 build: drop @anthropic-ai/claude-code from worker image 2026-06-15 22:42:12 +05:30
ezl-keygraph d3beea504a refactor(cli): remove CLAUDE_CODE_MAX_OUTPUT_TOKENS config 2026-06-15 22:40:50 +05:30
ezl-keygraph f46243a35a feat(worker): load playwright-cli skill via pi resource loader 2026-06-15 22:37:36 +05:30
ezl-keygraph 09e11b3ad9 fix(worker): restore minLength/minItems on pre-recon and exploit collector schemas 2026-06-15 21:06:29 +05:30
ezl-keygraph e16dcba13f refactor(prompts): drop collector server names from deliverable instructions 2026-06-15 20:21:22 +05:30
ezl-keygraph 5547afa73f refactor(prompts): drop stale MCP terminology for collector tools 2026-06-15 20:18:53 +05:30
ezl-keygraph 667e6ac4b0 refactor(prompts): use pi tool names (task, todo_write, read, bash, glob) 2026-06-15 20:03:26 +05:30
ezl-keygraph d18e928a6a feat(worker): add glob custom tool and route code_path globs to it 2026-06-15 20:03:26 +05:30
ezl-keygraph 58d0defea7 feat(worker): give task sub-agent write+bash, align tool descriptions 2026-06-15 19:54:20 +05:30
ezl-keygraph 9e845159b3 fix(worker): restore minLength/minItems on vuln-collector schemas 2026-06-15 18:42:53 +05:30
ezl-keygraph 0fd2f6bbe4 fix(worker): gate adaptive thinking to Opus models, drop CLAUDE_THINKING_LEVEL 2026-06-15 18:11:46 +05:30
ezl-keygraph 575465a741 feat(worker): pi-event-driven output formatting 2026-06-15 16:16:46 +05:30
ezl-keygraph 263b18e98a refactor(worker): rename claude-executor to pi-executor 2026-06-15 16:05:31 +05:30
ezl-keygraph 56241625a4 fix(worker): count sub-agent cost and surface compaction failures 2026-06-15 15:59:55 +05:30
ezl-keygraph 79fb49c159 feat(prompts): instruct agents to call submit_exploitation_queue and submit_auth_result 2026-06-15 15:49:02 +05:30
ezl-keygraph c275b27a6c fix(worker): route Bedrock and custom-base-URL providers from env 2026-06-15 15:36:14 +05:30
ezl-keygraph a9e966026c feat: remove Google Vertex AI provider support 2026-06-15 12:49:40 +05:30
ezl-keygraph 1908156525 feat(worker): migrate agent runtime from Claude Agent SDK to pi harness 2026-06-15 12:05:32 +05:30
ezl-keygraph 3d1a3c75f8 feat(ai): support Claude Fable 5 (upgrade Claude Agent SDK to 0.3.173) (#354) v1.7.0 2026-06-12 14:50:27 +05:30
ezl-keygraph ac6db3b52e feat(ai): upgrade to Opus 4.8 and Claude Agent SDK 0.3.163 (#353) v1.6.0 2026-06-12 02:03:26 +05:30
ezl-keygraph 0a1a2eb1c1 feat(worker): structure intermediate deliverables via MCP collectors (#350) v1.5.0 2026-06-05 14:50:43 +05:30
keygraphVarun a6f004cd25 Merge pull request #349 from KeygraphHQ/readme-update
Update README and docs content
2026-06-03 17:02:37 -07:00
Varun Sivamani 4a12918448 Update README and docs content
Add new docs pages and LLM context files, and remove the legacy SHANNON-PRO.md file.
2026-06-03 17:00:34 -07:00
ezl-keygraph 35f59f30f6 feat(docker): forward /etc/hosts entries to worker containers (#346) v1.4.0 2026-05-28 23:12:11 +05:30
ezl-keygraph 7813baf16a feat: share preflight authenticated session across agents (#345)
* feat(auth): reuse preflight's authenticated session across agents

* fix(preflight): verify saved auth state parses and has cookies or origins

* fix(prompts): strip shared-session block when no auth is configured

* fix(shannon): store shared auth state in the per-session audit dir

* fix(prompts): write stub auth-state in pipeline-testing preflight

* fix(preflight): clear stale auth-state.json before validate-authentication

* fix(preflight): drop auth-state.json on workflow completion

* docs(claude): refresh auth-state.json description for new layout and cleanup

* refactor(prompts): drop unused PLAYWRIGHT_SESSION resolve in login instructions

* style(prompts): collapse verifySavedAuthState signature per biome

* refactor(prompts): require AUTH_STATE_FILE on authenticated runs

* style(prompts): trim numbered-step comments back to step headers
2026-05-28 03:23:09 +05:30
ezl-keygraph 8f5d639f0d fix(deps): bump fast-uri to 3.1.2 (CVE-2026-6321) (#344) 2026-05-27 13:16:55 +05:30
ezl-keygraph 32c01a39b1 feat(preflight): block cloud metadata range in target URL check (#337)
* chore(docker): pin temporal image to 1.7.0

* feat(preflight): block link-local metadata range in target URL check

* style: apply biome formatting and import sorting
v1.3.0
2026-05-21 00:23:46 +05:30