feat: Claude Code Monitor — lanes, pipelines and a merged workspace

Internal SmartGift build of a Claude Code monitoring dashboard.

Lanes: a durable unit of parallel agent work, one per working directory,
tracked across session restarts. Managed lanes are git worktrees the
dashboard provisions and can reset or remove behind a three-check destroy
guard and a counted preflight; adopted lanes are directories you already
own and are never destroyable.

Pipelines: a lane moves through pipeline stages. A stage the agent declares
with evidence renders green; a stage inferred from the tool-event stream
renders dashed amber and never counts as done. Detection is forward-only
within a 30-minute window, and never writes the declared stage.

Workspace: one page at /run with a lane grid, the selected lane's pipeline,
and a full Claude console behind a disclosure.
This commit is contained in:
2026-07-29 17:07:45 +07:00
commit 57dc91585d
783 changed files with 221743 additions and 0 deletions
@@ -0,0 +1,53 @@
# ─────────────────────────────────────────────────────────────────────────────
# Compute module outputs
# ─────────────────────────────────────────────────────────────────────────────
output "cluster_name" {
description = "Name of the ECS cluster"
value = aws_ecs_cluster.main.name
}
output "cluster_arn" {
description = "ARN of the ECS cluster"
value = aws_ecs_cluster.main.arn
}
output "service_name" {
description = "Name of the ECS service for this slot"
value = aws_ecs_service.app.name
}
output "service_arn" {
description = "ARN of the ECS service for this slot"
value = aws_ecs_service.app.id
}
output "task_definition_arn" {
description = "ARN of the current task definition"
value = aws_ecs_task_definition.app.arn
}
output "target_group_arn" {
description = "ARN of the target group for LB registration"
value = aws_lb_target_group.app.arn
}
output "target_group_name" {
description = "Name of the target group"
value = aws_lb_target_group.app.name
}
output "log_group_name" {
description = "CloudWatch log group name"
value = aws_cloudwatch_log_group.app.name
}
output "task_execution_role_arn" {
description = "ARN of the task execution IAM role"
value = aws_iam_role.task_execution.arn
}
output "task_role_arn" {
description = "ARN of the task IAM role"
value = aws_iam_role.task.arn
}