Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
d6c96f3
docs(specs): analyze repository and define spec for shep doctor feature
arielshad Mar 20, 2026
71da98c
docs(specs): define requirements and product questions for shep doctor
arielshad Mar 20, 2026
ccc84c1
docs(specs): add push access auto-detection for maintainer vs contrib…
arielshad Mar 20, 2026
df0e9b0
docs(specs): research technical decisions and library choices for she…
arielshad Mar 20, 2026
19e2e3c
docs(specs): create implementation plan and task breakdown for shep d…
arielshad Mar 20, 2026
a2106d6
feat(tsp): add doctor diagnostic report value object and workflow con…
arielshad Mar 20, 2026
9265153
feat(domain): add service interfaces for shep doctor output ports
arielshad Mar 20, 2026
651ed26
feat(domain): add github issue creator service with di registration
arielshad Mar 20, 2026
b8cfc6d
test(domain): add unit tests for push access, fork, and pr creation
arielshad Mar 20, 2026
2bda287
feat(domain): add doctor diagnose use case with diagnostic collection…
arielshad Mar 20, 2026
706a5d4
feat(cli): add doctor command with di wiring and tests
arielshad Mar 20, 2026
3747abf
test(domain): add integration tests for doctor workflow
arielshad Mar 20, 2026
9209e05
chore(specs): capture evidence for shep doctor feature tasks
arielshad Mar 20, 2026
fd11be7
chore(specs): re-capture evidence for shep doctor feature tasks
arielshad Mar 20, 2026
7143e60
chore(specs): re-capture evidence for shep doctor feature tasks
arielshad Mar 20, 2026
2b692e0
chore(specs): add feature tracking yaml for shep doctor
arielshad Mar 20, 2026
90ff413
fix(ci): attempt 1/10 — sync generated output.ts with typespec compiler
arielshad Mar 20, 2026
8c09bda
feat(cli): add --feature-id option to shep doctor for feature-scoped …
arielshad Mar 22, 2026
06bc188
docs(specs): add design spec for enriched doctor diagnostics
arielshad Mar 22, 2026
e18aa9c
docs(specs): add implementation plan and fix spec review issues
arielshad Mar 22, 2026
4971067
feat(tsp): add agent-run-detail and worker-log-entry models to doctor…
arielshad Mar 22, 2026
1a57201
test(cli): add failing tests for enriched doctor diagnostics collection
arielshad Mar 22, 2026
e28a127
feat(cli): add enriched diagnostic collection and formatting to docto…
arielshad Mar 22, 2026
d04ab7a
test(cli): add integration test for enriched doctor diagnostics
arielshad Mar 22, 2026
ee39822
fix(cli): address lint issues from enriched diagnostics
arielshad Mar 22, 2026
34fb45e
fix(cli): add missing git-pr-service mock methods after rebase onto main
arielshad Mar 24, 2026
5957d29
fix(cli): merge main and resolve github-repository-service conflicts
arielshad Mar 24, 2026
e95f2e2
fix(cli): clear shep-skip-recovery env var in deployment recovery tests
arielshad Mar 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions apis/json-schema/AgentRunDetail.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
$schema: https://json-schema.org/draft/2020-12/schema
$id: AgentRunDetail.yaml
type: object
properties:
agentType:
type: string
description: Type of agent (e.g. claude-code, gemini-cli)
agentName:
type: string
description: Name/identifier of the agent run
prompt:
type: string
description: Input prompt sent to the agent executor
result:
type: string
description: Final result output from the agent (if available)
error:
type: string
description: Error message if the run failed
timestamp:
type: string
description: ISO 8601 timestamp of the run
required:
- agentType
- agentName
- prompt
- timestamp
description: Detailed agent run information including prompt and result for diagnostic reporting
76 changes: 76 additions & 0 deletions apis/json-schema/DoctorDiagnosticReport.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
$schema: https://json-schema.org/draft/2020-12/schema
$id: DoctorDiagnosticReport.yaml
type: object
properties:
userDescription:
type: string
description: User-provided description of the problem
failedRunSummaries:
type: array
items:
$ref: FailedRunSummary.yaml
description: Summaries of recent failed agent runs
systemInfo:
$ref: SystemInfo.yaml
description: System environment information
cliVersion:
type: string
description: Current shep CLI version
featureId:
type: string
description: Feature ID when diagnosing a specific feature (optional)
featureName:
type: string
description: Feature name when diagnosing a specific feature (optional)
featureLifecycle:
type: string
description: Feature lifecycle phase (e.g. Implementation, Review)
featureBranch:
type: string
description: Feature git branch name
featureDescription:
type: string
description: Feature description
featureWorkflowConfig:
type: string
description: JSON-serialized feature workflow configuration (fast, push, openPr, approvalGates)
specYaml:
type: string
description: Raw spec.yaml content
researchYaml:
type: string
description: Raw research.yaml content
planYaml:
type: string
description: Raw plan.yaml content
tasksYaml:
type: string
description: Raw tasks.yaml content
featureStatusYaml:
type: string
description: Raw feature.yaml (status tracking) content
agentRunDetails:
type: array
items:
$ref: AgentRunDetail.yaml
description: Detailed agent run information including prompts and results
conversationMessages:
type: string
description: JSON-serialized conversation messages (Feature.messages[])
featurePlan:
type: string
description: JSON-serialized feature plan (Feature.plan)
workerLogs:
type: array
items:
$ref: WorkerLogEntry.yaml
description: Worker execution logs for agent runs associated with this feature
phaseTimings:
type: string
description: JSON-serialized phase timing records
required:
- userDescription
- failedRunSummaries
- systemInfo
- cliVersion
description: Structured diagnostic report collected by shep doctor for issue creation
22 changes: 22 additions & 0 deletions apis/json-schema/FailedRunSummary.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
$schema: https://json-schema.org/draft/2020-12/schema
$id: FailedRunSummary.yaml
type: object
properties:
agentType:
type: string
description: Type of agent that failed (e.g. claude-code, gemini-cli)
agentName:
type: string
description: Name/identifier of the agent run
error:
type: string
description: Error message from the failed run
timestamp:
type: string
description: ISO 8601 timestamp when the failure occurred
required:
- agentType
- agentName
- error
- timestamp
description: Summary of a failed agent run for diagnostic reporting
22 changes: 22 additions & 0 deletions apis/json-schema/SystemInfo.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
$schema: https://json-schema.org/draft/2020-12/schema
$id: SystemInfo.yaml
type: object
properties:
nodeVersion:
type: string
description: Node.js version (e.g. v20.11.0)
platform:
type: string
description: Operating system platform (e.g. darwin, linux, win32)
arch:
type: string
description: CPU architecture (e.g. x64, arm64)
ghVersion:
type: string
description: gh CLI version string
required:
- nodeVersion
- platform
- arch
- ghVersion
description: System environment information for diagnostic reporting
27 changes: 27 additions & 0 deletions apis/json-schema/WorkerLogEntry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
$schema: https://json-schema.org/draft/2020-12/schema
$id: WorkerLogEntry.yaml
type: object
properties:
agentRunId:
type: string
description: Agent run ID this log belongs to
agentName:
type: string
description: Name of the agent that produced this log
content:
type: string
description: Full log file content (may be truncated)
truncated:
type: boolean
description: Whether the content was truncated due to size limits
originalLength:
type: integer
minimum: -2147483648
maximum: 2147483647
description: Original character count before truncation (only set when truncated)
required:
- agentRunId
- agentName
- content
- truncated
description: Worker log entry for a specific agent run
5 changes: 5 additions & 0 deletions apis/json-schema/WorkflowConfig.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,11 @@ properties:
hideCiStatus:
type: boolean
description: "Hide CI status badges from UI (default: true)"
doctorMaxFixAttempts:
type: integer
minimum: -2147483648
maximum: 2147483647
description: "Maximum number of doctor fix attempts before giving up (default: 1)"
required:
- openPrOnImplementationComplete
- approvalGateDefaults
Expand Down
Loading
Loading