feat: complete Epic 1 production foundation

This commit is contained in:
2026-08-25 01:24:11 +03:00
parent 767428436d
commit 182bde8ac0
298 changed files with 35719 additions and 5299 deletions
+14 -4
View File
@@ -9,8 +9,8 @@ use crate::labels::{
pub const METRIC_SCHEMA_VERSION: u32 = 1;
pub const MAX_METRIC_FAMILIES: usize = 128;
pub const MAX_PRODUCT_LABELS_PER_FAMILY: usize = 4;
pub const MAX_LOGICAL_SERIES_PER_PROCESS: usize = 5_000;
pub const MAX_RENDERED_SERIES_PER_PROCESS: usize = 15_000;
pub const MAX_LOGICAL_SERIES_PER_PROCESS: usize = 5_250;
pub const MAX_RENDERED_SERIES_PER_PROCESS: usize = 16_750;
pub const MAX_EXPOSITION_BYTES: usize = 8 * 1024 * 1024;
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
@@ -167,13 +167,19 @@ pub const HTTP_ROUTE_DOMAIN: &[&str] = &[
"/health",
"/ready",
"/api/auth/login",
"/api/auth/bootstrap/status",
"/api/auth/bootstrap/complete",
"/api/auth/logout",
"/api/auth/session",
"/api/auth/session/csrf",
"/api/auth/profile",
"/api/auth/password",
"/api/admin/capabilities",
"/api/admin/workspaces",
"/api/admin/workspaces/{workspace_id}",
"/api/admin/workspaces/{workspace_id}/onboarding",
"/api/admin/workspaces/{workspace_id}/onboarding/events",
"/api/admin/workspaces/{workspace_id}/onboarding/reset-selection",
"/api/admin/workspaces/{workspace_id}/operations",
"/api/admin/workspaces/{workspace_id}/imports/openapi/preview",
"/api/admin/workspaces/{workspace_id}/imports/openapi/{job_id}/create",
@@ -209,10 +215,14 @@ pub const HTTP_ROUTE_DOMAIN: &[&str] = &[
"/api/admin/workspaces/{workspace_id}/secrets/{secret_id}/rotate",
"/api/admin/workspaces/{workspace_id}/export",
"/api/admin/workspaces/{workspace_id}/logs",
"/api/admin/workspaces/{workspace_id}/logs/export.csv",
"/api/admin/workspaces/{workspace_id}/logs/{log_id}",
"/api/admin/workspaces/{workspace_id}/approvals",
"/api/admin/workspaces/{workspace_id}/approvals/{approval_id}",
"/api/admin/workspaces/{workspace_id}/approvals/{approval_id}/approve",
"/api/admin/workspaces/{workspace_id}/approvals/{approval_id}/deny",
"/api/admin/workspaces/{workspace_id}/usage",
"/api/admin/workspaces/{workspace_id}/usage/export.csv",
"/api/admin/workspaces/{workspace_id}/usage/operations/{operation_id}",
"/api/admin/workspaces/{workspace_id}/usage/agents/{agent_id}",
"/v1/{workspace_slug}/{agent_slug}",
@@ -294,7 +304,7 @@ const METRIC_SCHEMA: &[MetricDefinition] = &[
],
&[],
BOTH,
57 * 10 * 6,
67 * 10 * 6,
"Total HTTP requests.",
),
metric(
@@ -308,7 +318,7 @@ const METRIC_SCHEMA: &[MetricDefinition] = &[
],
DURATION_BUCKETS_SECONDS,
BOTH,
57 * 10,
67 * 10,
"HTTP request duration in seconds.",
),
metric(
+18 -9
View File
@@ -46,16 +46,16 @@ fn schema_v1_is_complete_deterministic_and_inside_the_frozen_budget() {
#[test]
fn frozen_budget_edges_are_exact() {
assert!(validate_budget(4_999, 14_999).is_ok());
assert!(validate_budget(5_000, 15_000).is_ok());
assert!(validate_budget(5_001, 15_000).is_err());
assert!(validate_budget(5_000, 15_001).is_err());
assert_eq!(crank_metrics::max_exemplar_slots(), 9_170);
assert!(validate_budget(5_249, 16_749).is_ok());
assert!(validate_budget(5_250, 16_750).is_ok());
assert!(validate_budget(5_251, 16_000).is_err());
assert!(validate_budget(5_200, 16_751).is_err());
assert_eq!(crank_metrics::max_exemplar_slots(), 10_570);
}
#[test]
fn every_registered_route_round_trips_without_dynamic_segments() {
assert_eq!(HTTP_ROUTE_DOMAIN.len(), 57);
assert_eq!(HTTP_ROUTE_DOMAIN.len(), 67);
for route in HTTP_ROUTE_DOMAIN {
assert_eq!(HttpRoute::from_matched_path(route).as_str(), *route);
assert!(!route.contains("trace_id"));
@@ -68,8 +68,8 @@ fn canonical_schema_validation_reports_its_category() {
assert_eq!(
schema_budget(),
Ok(crank_metrics::SchemaBudget {
logical_series: 4_513,
rendered_series: 14_338
logical_series: 5_213,
rendered_series: 16_538
})
);
}
@@ -146,7 +146,16 @@ fn process_projection_excludes_mcp_only_metrics_from_admin() {
fn registered_admin_and_mcp_routes_are_exactly_the_schema_domain() {
let admin_source = include_str!("../../../apps/admin-api/src/app.rs");
let mcp_source = include_str!("../../crank-community-mcp/src/app.rs");
let auth = ["/login", "/logout", "/session", "/profile", "/password"];
let auth = [
"/bootstrap/status",
"/bootstrap/complete",
"/login",
"/logout",
"/session",
"/session/csrf",
"/profile",
"/password",
];
let admin_root = ["/capabilities", "/workspaces", "/workspaces/{workspace_id}"];
let mut actual = BTreeSet::from(["unmatched".to_owned()]);
for route in route_literals(admin_source) {