agent-lifecycle-kit 2.35.0__tar.gz → 2.37.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agent_lifecycle_kit-2.35.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.37.0}/PKG-INFO +3 -3
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/README.md +2 -2
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/docs/guides/ai-sdlc-integration.md +30 -2
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/docs/ru/guides/ai-sdlc-integration.md +34 -2
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/pyproject.toml +1 -1
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/_version.py +1 -1
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/redaction.py +13 -1
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/external_dialects.py +41 -28
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/planning.py +82 -31
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +3 -3
- agent_lifecycle_kit-2.37.0/tests/cli/fixtures/external-consumer-cases.json +50 -0
- agent_lifecycle_kit-2.35.0/tests/cli/fixtures/external-consumer-cases.json +0 -18
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/LICENSE +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/NOTICE +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/README.md +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/manifest.json +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/setup.cfg +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/__main__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/closing_resource_admission.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/closing_resource_policy.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/closing_resource_recovery.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/closing_resources.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/closing_types.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/contracts.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/declared_ledger.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/declared_ledger_legacy.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/declared_ledger_records.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/financial_transactions.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/host_bridge.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/input_fit.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/journal.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/legacy_source_usage.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/normalization.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/opening_balances.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/profile_schema.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/source_usage_context.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/support_profiles.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/usage_types.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/workflow_authority_store.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/workflow_state_store.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/accounting/workflow_store.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/attempt_authority.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/bootstrap_r11.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/codex_exact_prompt.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/codex_input_diagnostics.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/codex_prompt_preparation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/codex_source_exposure.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/codex_source_subject.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/immutable_input.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/input_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/limited_native_evidence.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/managed_process.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/ordinary_audit.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/private_input.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/process_admission.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/qualification_context.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/source_review_contracts.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/source_review_history.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/source_review_inputs.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/source_review_preparation_records.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/source_review_roles.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/source_review_shards.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/source_review_support.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/source_review_transcript.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/windows_pipe.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/delta.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/delta_review.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/implementation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/ownership.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/package.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/review_packet.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/changesets/git.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/changesets/git_io.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/adapter.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/command_registry.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/compact_plan_commands.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch_audit.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch_observability.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch_planning.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/errors.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/followup.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/main.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/parsers.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/plan_lock_commands.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/planning_parsers.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/policy.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/project.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/research.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/start.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/strategy.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/workflow_task_parsers.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/cli/worktree.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/compiler/phase_packets.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/context/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/context/external_memory.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/context/profiles.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/context/rendering.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/artifact_authoring_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/authority_io.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/authority_text.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/bounded_json.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/closing_resource_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/closing_time.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/closing_window_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/compact_plan_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/deadline_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/deadlines.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/display_identity.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/ed25519.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/errors.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/evidence_receipt_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/execution_target.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/immutable_input_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/model_classes.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/paths.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/phase_packet_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/preparation_policy.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/private_storage.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/private_storage_compat.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/process_lock.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/review_input_types.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/review_round_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/reviewer_identity_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/scoped_usage_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/validation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/validation_ladder_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/windows_security.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_authority.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_authority_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_continuation_batch_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_continuation_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_economics_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_finalization_types.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_state_authority.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_storage.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_storage_context.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_storage_io.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/workflow_storage_schemas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/followup/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/followup/records.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/freeze/locks.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/freeze/review_inputs.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/goal/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/goal/records.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/goal/view.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/opencode_compatibility.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/audit_efficiency.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/command_resources.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/cost_collection.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/costs.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/goal_progress.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/plan_package_comparison.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/release_accounting.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/metrics/workflow_economics.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/migration/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/compact_packages.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/completeness.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/continuity.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/deltas.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/manifest_contract.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/prerequisites.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/templates.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/tiering.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/traceability.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/validation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/planning/verification.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/apply.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/proposals.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/project/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/project/domain_language.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/project/guidance.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/project/merge.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/project/presets.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/project/principles.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/project/profile.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/py.typed +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/architecture_policy.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/dependency_impact.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/packs.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/quality/validation_ladder.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/attention.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/research/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/research/evidence.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/research/provenance.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/research/validation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/resources.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review/provenance.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review/validation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/preflight.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/review_mesh/validation_helpers.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/runner/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/runner/core.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/specification/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/specification/validation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/artifact_builders.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/audit_evidence.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/closing_policy.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/closing_window.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/continuation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/continuation_batch.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/controller.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/deadline_guards.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/events.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/finalization.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/gates.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/immutable_input.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/initialization.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/leases.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/limited_usage.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/operation_kernel.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/plan_adoption.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/query.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/reviews.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/run.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/state.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/storage.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/storage_io.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/task_start.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/task_transitions.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/transactions.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
- {agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle_kit.egg-info/top_level.txt +0 -0
{agent_lifecycle_kit-2.35.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.37.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-lifecycle-kit
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.37.0
|
|
4
4
|
Summary: Provider-neutral lifecycle control layer that helps coding agents plan, execute, validate, and prove software tasks to completion.
|
|
5
5
|
Author: Agent Lifecycle Kit contributors
|
|
6
6
|
License: Apache-2.0
|
|
@@ -33,7 +33,7 @@ Dynamic: license-file
|
|
|
33
33
|
|
|
34
34
|
**Agent Lifecycle Kit (ALK)** coordinates coding-agent work through a verifiable finish. It keeps the requested outcome, reviewed plan, execution boundaries, evidence and acceptance decisions connected while the external agent changes the project.
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
ALK secures imports and documents the [external AI SDLC CLI contract](docs/guides/ai-sdlc-integration.md) and eight bounded consumer cases. Wheel/sdist include both guides and case JSON; the plugin ships the paired CLI contract. Native authority and release gates remain required.
|
|
37
37
|
|
|
38
38
|
The provider-neutral workflow works with Codex, Claude Code, Qwen Code, Goose, OpenInterpreter, Pi, Grok Build, or another CLI. Provider commands, model choice and secret handling stay in adapters or host-local profiles.
|
|
39
39
|
|
|
@@ -42,7 +42,7 @@ Release 2.28 adds [bounded lifecycle and accounting baselines](docs/reference/pe
|
|
|
42
42
|
## Quick start
|
|
43
43
|
Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.23 adds [compact S0/S1 authoring](docs/reference/tier-proportional-plan-packages.md) with explicit checklist completion and unchanged approval gates. Release 2.22 adds [conservative plan-review reuse](docs/reference/conservative-delta-review.md) with independent current applicability and no automatic full reruns. Release 2.21 adds [command accounting, bounded preparation and response recovery](docs/reference/source-native-workflow-accounting.md). Release 2.20 adds [target-bound initialization](docs/reference/cli.md#release-220-composed-initialization-and-digest-display), [bounded local continuation](docs/reference/workflow-continuation.md) and batched Git snapshots. Release 2.19 adds [safe artifact authoring and planning preflight](docs/reference/safe-artifact-authoring.md), [bounded review handoff](docs/reference/review-mesh.md#bounded-review-handoff) and thin skills with complete references. Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
|
|
44
44
|
|
|
45
|
-
It includes macOS, Linux and Windows instructions, Python 3.11-3.15, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.
|
|
45
|
+
It includes macOS, Linux and Windows instructions, Python 3.11-3.15, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.37.0`, and common `agent-lifecycle version` errors. See [2.15 migration notes](docs/reference/cli.md#migrating-authority-artifacts-to-215) and [authority boundaries](docs/reference/authority-artifact-boundaries.md).
|
|
46
46
|
|
|
47
47
|
For a quick start, run:
|
|
48
48
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
**Agent Lifecycle Kit (ALK)** coordinates coding-agent work through a verifiable finish. It keeps the requested outcome, reviewed plan, execution boundaries, evidence and acceptance decisions connected while the external agent changes the project.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
ALK secures imports and documents the [external AI SDLC CLI contract](docs/guides/ai-sdlc-integration.md) and eight bounded consumer cases. Wheel/sdist include both guides and case JSON; the plugin ships the paired CLI contract. Native authority and release gates remain required.
|
|
14
14
|
|
|
15
15
|
The provider-neutral workflow works with Codex, Claude Code, Qwen Code, Goose, OpenInterpreter, Pi, Grok Build, or another CLI. Provider commands, model choice and secret handling stay in adapters or host-local profiles.
|
|
16
16
|
|
|
@@ -19,7 +19,7 @@ Release 2.28 adds [bounded lifecycle and accounting baselines](docs/reference/pe
|
|
|
19
19
|
## Quick start
|
|
20
20
|
Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.23 adds [compact S0/S1 authoring](docs/reference/tier-proportional-plan-packages.md) with explicit checklist completion and unchanged approval gates. Release 2.22 adds [conservative plan-review reuse](docs/reference/conservative-delta-review.md) with independent current applicability and no automatic full reruns. Release 2.21 adds [command accounting, bounded preparation and response recovery](docs/reference/source-native-workflow-accounting.md). Release 2.20 adds [target-bound initialization](docs/reference/cli.md#release-220-composed-initialization-and-digest-display), [bounded local continuation](docs/reference/workflow-continuation.md) and batched Git snapshots. Release 2.19 adds [safe artifact authoring and planning preflight](docs/reference/safe-artifact-authoring.md), [bounded review handoff](docs/reference/review-mesh.md#bounded-review-handoff) and thin skills with complete references. Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
|
|
21
21
|
|
|
22
|
-
It includes macOS, Linux and Windows instructions, Python 3.11-3.15, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.
|
|
22
|
+
It includes macOS, Linux and Windows instructions, Python 3.11-3.15, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.37.0`, and common `agent-lifecycle version` errors. See [2.15 migration notes](docs/reference/cli.md#migrating-authority-artifacts-to-215) and [authority boundaries](docs/reference/authority-artifact-boundaries.md).
|
|
23
23
|
|
|
24
24
|
For a quick start, run:
|
|
25
25
|
|
{agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/docs/guides/ai-sdlc-integration.md
RENAMED
|
@@ -7,7 +7,7 @@ required. ALK owns workflow authority. The client owns process execution,
|
|
|
7
7
|
presentation and reconciliation. The host owns model execution and genuine usage
|
|
8
8
|
attestation; an independent reviewer owns review conclusions.
|
|
9
9
|
|
|
10
|
-
This guide defines a provider-neutral CLI consumer contract
|
|
10
|
+
This guide defines a provider-neutral CLI consumer contract.
|
|
11
11
|
It adds no server, daemon, provider broker, runtime API or second state machine.
|
|
12
12
|
The supported surface below is deliberately bounded. Other operations retain
|
|
13
13
|
their [CLI contracts](../reference/cli.md).
|
|
@@ -16,7 +16,7 @@ their [CLI contracts](../reference/cli.md).
|
|
|
16
16
|
|
|
17
17
|
The client MUST run `agent-lifecycle version` and require
|
|
18
18
|
`agent-lifecycle-version.v1`. It MUST compare `version` with its explicitly tested
|
|
19
|
-
version mapping.
|
|
19
|
+
version mapping. A tested contract does not qualify another release
|
|
20
20
|
merely because its version looks similar. The client MUST refuse mutations for
|
|
21
21
|
an unknown version, unknown `schemaVersion`, unsupported action or incompatible
|
|
22
22
|
required field. Read-only diagnostics can remain available, clearly labelled as
|
|
@@ -146,6 +146,34 @@ by writing a success event or replaying a host command. Native operation guards
|
|
|
146
146
|
do not guarantee exactly-once execution of arbitrary host/model/external side
|
|
147
147
|
effects; those require their own host-owned reconciliation evidence.
|
|
148
148
|
|
|
149
|
+
## Reference caller resource boundaries
|
|
150
|
+
|
|
151
|
+
The stdlib-only reference in `tests/cli/test_external_consumer_contract.py`
|
|
152
|
+
drains two unbuffered pipes concurrently. Each stream reads at most 1 MiB plus
|
|
153
|
+
one overflow-detection byte; it creates no output capture files. The runtime
|
|
154
|
+
deadline is 20 seconds after process creation returns. A separate cleanup window
|
|
155
|
+
is at most two seconds, covering direct-child stop/reaping and reader joins.
|
|
156
|
+
OS process creation itself is not interruptible by this deadline.
|
|
157
|
+
|
|
158
|
+
Timeout, overflow, invalid UTF-8/JSON, unknown output or unconfirmed cleanup
|
|
159
|
+
records `UNKNOWN`, clears qualification and blocks all further calls. A unique
|
|
160
|
+
bounded state/event match can resolve effect uncertainty; renegotiation is still
|
|
161
|
+
required before mutation. It cannot clear unconfirmed resource cleanup: dispose
|
|
162
|
+
that caller. Never retry a mutation to discover whether it succeeded.
|
|
163
|
+
|
|
164
|
+
Executable hashing streams at most 32 MiB plus one detection byte before launch.
|
|
165
|
+
This is an observed file identity, not attestation of every loaded runtime file.
|
|
166
|
+
Reconciliation admits only regular non-symlink relative artifacts inside its
|
|
167
|
+
working directory: state at most 1 MiB, event log at most 4 MiB, at most 1024 lines,
|
|
168
|
+
and each line at most 65536 bytes including its newline. State is compared again
|
|
169
|
+
after reading events; missing, changed, ambiguous, oversized or malformed input
|
|
170
|
+
stays `UNKNOWN`. These checks are not an atomic filesystem snapshot or a sandbox
|
|
171
|
+
for arbitrary executables, descendants or hostile concurrent filesystem changes.
|
|
172
|
+
|
|
173
|
+
The eight disposable public cases also exercise a legacy v3 state fixture;
|
|
174
|
+
they do not migrate native authority. Source/editable checks are intermediate
|
|
175
|
+
proof. A final installed wheel needs its own exact-version qualification.
|
|
176
|
+
|
|
149
177
|
## Keep usage and evidence honest
|
|
150
178
|
|
|
151
179
|
Retain exact source, executable/configuration/input digests, command/exit/time,
|
{agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/docs/ru/guides/ai-sdlc-integration.md
RENAMED
|
@@ -7,7 +7,7 @@ ALK владеет workflow authority. Клиент отвечает за зап
|
|
|
7
7
|
и сверку результата. Host отвечает за выполнение модели и подлинную usage
|
|
8
8
|
attestation; независимый reviewer — за выводы review.
|
|
9
9
|
|
|
10
|
-
Руководство задаёт provider-neutral контракт CLI
|
|
10
|
+
Руководство задаёт provider-neutral контракт CLI-потребителя.
|
|
11
11
|
Оно не добавляет server, daemon, provider broker, runtime API или вторую state
|
|
12
12
|
machine. Описанная поверхность намеренно ограничена. Остальные операции сохраняют
|
|
13
13
|
свои [CLI-контракты](../reference/cli.md).
|
|
@@ -16,7 +16,7 @@ machine. Описанная поверхность намеренно огран
|
|
|
16
16
|
|
|
17
17
|
Клиент MUST выполнить `agent-lifecycle version` и потребовать
|
|
18
18
|
`agent-lifecycle-version.v1`. Он MUST сравнить `version` с явно протестированной
|
|
19
|
-
таблицей версий.
|
|
19
|
+
таблицей версий. Проверенный контракт не квалифицирует более ранний или поздний release
|
|
20
20
|
только по сходству номера. Клиент MUST отказать в mutation при неизвестной версии,
|
|
21
21
|
неизвестной `schemaVersion`, неподдерживаемом action или несовместимом обязательном
|
|
22
22
|
поле. Read-only диагностика может оставаться доступной с явной пометкой об
|
|
@@ -152,6 +152,38 @@ revision не доказывает успех.
|
|
|
152
152
|
exactly-once исполнение произвольных host/model/external side effects; для них
|
|
153
153
|
нужны собственные host-owned evidence сверки.
|
|
154
154
|
|
|
155
|
+
## Ограничения эталонного клиента
|
|
156
|
+
|
|
157
|
+
Эталонный клиент `tests/cli/test_external_consumer_contract.py` использует только
|
|
158
|
+
стандартную библиотеку. Он одновременно читает два небуферизованных канала:
|
|
159
|
+
не более 1 МиБ и одного байта для обнаружения переполнения из каждого.
|
|
160
|
+
Файлы захвата вывода не создаются. Срок исполнения — 20 секунд после возврата
|
|
161
|
+
операции создания процесса. Отдельное окно очистки до двух секунд включает
|
|
162
|
+
остановку и ожидание прямого дочернего процесса, а также завершение читателей.
|
|
163
|
+
Само создание процесса средствами ОС этим сроком прервать нельзя.
|
|
164
|
+
|
|
165
|
+
Таймаут, переполнение, неверный UTF-8/JSON, неизвестный ответ или неподтверждённая
|
|
166
|
+
очистка записывают `UNKNOWN`, снимают квалификацию и запрещают следующие вызовы.
|
|
167
|
+
Единственное согласованное событие вместе с state может разрешить неопределённость
|
|
168
|
+
эффекта; перед изменением всё равно нужно повторное согласование версии.
|
|
169
|
+
Совпадение эффекта не снимает запрет при неподтверждённой очистке ресурсов:
|
|
170
|
+
прекратите использование такого клиента. Не повторяйте изменение, чтобы узнать
|
|
171
|
+
результат первого вызова.
|
|
172
|
+
|
|
173
|
+
До запуска отпечаток исполняемого файла считается потоково, не более 32 МиБ
|
|
174
|
+
и одного байта обнаружения. Это наблюдаемая идентичность файла, а не подтверждение
|
|
175
|
+
всех загруженных файлов среды. Сверка принимает только обычные файлы без
|
|
176
|
+
символьных ссылок с относительными путями внутри рабочего каталога: state до
|
|
177
|
+
1 МиБ, журнал до 4 МиБ, до 1024 строк и до 65536 байт на строку с переводом строки.
|
|
178
|
+
После журнала state читается и сравнивается повторно. Недоступные, изменённые,
|
|
179
|
+
неоднозначные, чрезмерные и повреждённые данные оставляют `UNKNOWN`. Это не
|
|
180
|
+
атомарный снимок файловой системы и не изолированная среда для произвольных
|
|
181
|
+
программ, потомков или враждебных одновременных изменений файлов.
|
|
182
|
+
|
|
183
|
+
Восемь публичных сценариев на временных данных также используют старую fixture
|
|
184
|
+
state v3; они не мигрируют нативные полномочия. Проверка исходного/editable-кода
|
|
185
|
+
промежуточная: итоговый установленный wheel требует проверки своей точной версии.
|
|
186
|
+
|
|
155
187
|
## Сохранять подлинные usage и evidence
|
|
156
188
|
|
|
157
189
|
Сохраняйте exact source, digests executable/configuration/inputs, command/exit/time,
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "agent-lifecycle-kit"
|
|
7
|
-
version = "2.
|
|
7
|
+
version = "2.37.0"
|
|
8
8
|
description = "Provider-neutral lifecycle control layer that helps coding agents plan, execute, validate, and prove software tasks to completion."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11,<3.16"
|
{agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/contracts/redaction.py
RENAMED
|
@@ -19,6 +19,7 @@ _SENSITIVE_EXACT_KEYS = {
|
|
|
19
19
|
"api_key",
|
|
20
20
|
"apikey",
|
|
21
21
|
"authorization",
|
|
22
|
+
"cookie",
|
|
22
23
|
"credential",
|
|
23
24
|
"credentials",
|
|
24
25
|
"id_token",
|
|
@@ -30,6 +31,7 @@ _SENSITIVE_EXACT_KEYS = {
|
|
|
30
31
|
"refresh_token",
|
|
31
32
|
"refreshtoken",
|
|
32
33
|
"secret",
|
|
34
|
+
"set_cookie",
|
|
33
35
|
"session_token",
|
|
34
36
|
"sessiontoken",
|
|
35
37
|
"token",
|
|
@@ -66,6 +68,8 @@ _BARE_TOKEN = re.compile(
|
|
|
66
68
|
r"sk-(?:proj-)?[A-Za-z0-9_-]{20,}|"
|
|
67
69
|
r"eyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}|"
|
|
68
70
|
r"gh[pousr]_[A-Za-z0-9_]{20,}|"
|
|
71
|
+
r"github"
|
|
72
|
+
r"_pat_[A-Za-z0-9_]{20,}|"
|
|
69
73
|
r"glpat-[A-Za-z0-9_-]{20,}|"
|
|
70
74
|
r"npm_[A-Za-z0-9]{20,}|"
|
|
71
75
|
r"(?:sk|rk)_(?:live|test)_[A-Za-z0-9]{16,}|"
|
|
@@ -102,6 +106,13 @@ _AUTHORIZATION_HEADER = re.compile(
|
|
|
102
106
|
r"(?:" + _AUTH_PARAMETER + r"(?:\s*,\s*" + _AUTH_PARAMETER + r")*|[^\s,;}\]]+)",
|
|
103
107
|
re.IGNORECASE,
|
|
104
108
|
)
|
|
109
|
+
_COOKIE_HEADER = re.compile(
|
|
110
|
+
r"(?<![A-Za-z0-9_.-])(?P<key>(?:\\*[\"'])?(?:set[-_])?cookie(?:\\*[\"'])?)"
|
|
111
|
+
r"(?P<separator>\s*[:=]\s*)"
|
|
112
|
+
r"(?P<value>(?P<escaped_quote>\\+[\"'])(?:\\.|[^\\])*?(?P=escaped_quote)|"
|
|
113
|
+
r"\"(?:\\.|[^\"])*\"|'(?:\\.|[^'])*'|[^\r\n]*(?:\r?\n[ \t]+[^\r\n]*)*)",
|
|
114
|
+
re.IGNORECASE,
|
|
115
|
+
)
|
|
105
116
|
_HTTP_URL = re.compile(r"https?://[^\s\"'<>]+", re.IGNORECASE)
|
|
106
117
|
_HTTP_AUTHORITY = re.compile(r"https?://[^/?#]*", re.IGNORECASE)
|
|
107
118
|
_MAX_NESTED_URL_DEPTH = 8
|
|
@@ -210,10 +221,11 @@ def _replace_matches(pattern: re.Pattern[str], value: str, replacement: str) ->
|
|
|
210
221
|
|
|
211
222
|
|
|
212
223
|
def _redact_common_secret_markers(value: str) -> tuple[str, int]:
|
|
224
|
+
value, cookie_count = _COOKIE_HEADER.subn(_replace_sensitive_assignment, value)
|
|
213
225
|
value, private_key_count = _replace_matches(_PRIVATE_KEY, value, REDACTED_VALUE)
|
|
214
226
|
value, bearer_count = _replace_matches(_BEARER, value, f"Bearer {REDACTED_VALUE}")
|
|
215
227
|
value, token_count = _replace_matches(_BARE_TOKEN, value, REDACTED_VALUE)
|
|
216
|
-
return value, private_key_count + bearer_count + token_count
|
|
228
|
+
return value, cookie_count + private_key_count + bearer_count + token_count
|
|
217
229
|
|
|
218
230
|
|
|
219
231
|
def _has_secret_outside_urls(value: str, url_spans: list[tuple[int, int]]) -> bool:
|
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import json
|
|
6
|
+
import os
|
|
6
7
|
import re
|
|
7
8
|
from pathlib import Path
|
|
8
9
|
from typing import Any
|
|
9
10
|
|
|
10
11
|
from agent_lifecycle.context.rendering import estimate_tokens
|
|
11
12
|
from agent_lifecycle.contracts import LifecycleError, canonical_digest, sha256_hex
|
|
13
|
+
from agent_lifecycle.contracts.authority_io import open_authority_read
|
|
12
14
|
from agent_lifecycle.imports.dialect_profiles import (
|
|
13
15
|
DEFAULT_PROFILE_ID,
|
|
14
16
|
external_dialect_profile,
|
|
@@ -18,15 +20,15 @@ from agent_lifecycle.imports.dialect_profiles import (
|
|
|
18
20
|
from agent_lifecycle.imports.planning import (
|
|
19
21
|
DEFAULT_MAX_INPUT_BYTES,
|
|
20
22
|
DEFAULT_TARGET_TOKENS,
|
|
23
|
+
MAX_REQUIREMENT_CHARS,
|
|
21
24
|
PLANNING_IMPORT_RESULT_SCHEMA,
|
|
25
|
+
import_content_blockers,
|
|
22
26
|
require_no_import_secrets,
|
|
23
27
|
validate_import_result,
|
|
24
28
|
)
|
|
25
29
|
from agent_lifecycle.planning import validate_plan_manifest
|
|
26
30
|
|
|
27
31
|
EXTERNAL_IMPORT_VALIDATION_SCHEMA = "agent-external-dialect-import-validation.v1"
|
|
28
|
-
MAX_REQUIREMENTS = 8
|
|
29
|
-
MAX_REQUIREMENT_CHARS = 180
|
|
30
32
|
|
|
31
33
|
_POSIX_USER_PREFIX = "/" + "Users/"
|
|
32
34
|
_POSIX_VOLUME_PREFIX = "/" + "Volumes/"
|
|
@@ -175,14 +177,18 @@ def require_external_import_pass(validation: dict[str, Any]) -> dict[str, Any]:
|
|
|
175
177
|
|
|
176
178
|
|
|
177
179
|
def _read_source(source_path: Path, *, max_input_bytes: int, blockers: list[dict[str, Any]]) -> bytes:
|
|
178
|
-
|
|
180
|
+
try:
|
|
181
|
+
with open_authority_read(Path(os.path.normpath(source_path.absolute()))) as stream:
|
|
182
|
+
data = stream.read(max_input_bytes + 1)
|
|
183
|
+
except FileNotFoundError:
|
|
179
184
|
blockers.append({"code": "external-dialect-source-missing", "sourceLabel": source_path.name})
|
|
180
185
|
return b""
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
186
|
+
if len(data) > max_input_bytes:
|
|
187
|
+
blockers.append(
|
|
188
|
+
{"code": "external-dialect-input-cap-exceeded", "inputBytes": len(data), "cap": max_input_bytes}
|
|
189
|
+
)
|
|
184
190
|
return b""
|
|
185
|
-
return
|
|
191
|
+
return data
|
|
186
192
|
|
|
187
193
|
|
|
188
194
|
def _decode_source(data: bytes, blockers: list[dict[str, Any]]) -> str:
|
|
@@ -248,19 +254,23 @@ def _parse_scalar(value: str) -> Any:
|
|
|
248
254
|
|
|
249
255
|
def _map_family(family: str, parsed: dict[str, Any], text: str, blockers: list[dict[str, Any]]) -> dict[str, Any]:
|
|
250
256
|
if family == "workflow":
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
257
|
+
mapping = _map_workflow(parsed, text)
|
|
258
|
+
elif family == "agent":
|
|
259
|
+
mapping = _map_agent(parsed, text)
|
|
260
|
+
else:
|
|
261
|
+
blockers.append({"code": "external-dialect-family-invalid", "family": family})
|
|
262
|
+
return {}
|
|
263
|
+
for field in ("requirements", "validationHints"):
|
|
264
|
+
blockers.extend(import_content_blockers(mapping[field], prefix="external-dialect", field=field))
|
|
265
|
+
return mapping
|
|
256
266
|
|
|
257
267
|
|
|
258
268
|
def _map_workflow(parsed: dict[str, Any], text: str) -> dict[str, Any]:
|
|
259
269
|
steps = _list_from(parsed, "steps", "jobs", "tasks")
|
|
260
270
|
validations = _list_from(parsed, "validation", "validations", "checks")
|
|
261
271
|
requirements = [
|
|
262
|
-
f"Review imported workflow step {index + 1}: {_safe_summary(step)}."
|
|
263
|
-
for index, step in enumerate(steps
|
|
272
|
+
f"Review imported workflow step {index + 1}: {_safe_summary(step, limit=None)}."
|
|
273
|
+
for index, step in enumerate(steps)
|
|
264
274
|
]
|
|
265
275
|
if not requirements:
|
|
266
276
|
requirements = _requirements_from_lines(text, prefix="Review imported workflow instruction")
|
|
@@ -268,8 +278,8 @@ def _map_workflow(parsed: dict[str, Any], text: str) -> dict[str, Any]:
|
|
|
268
278
|
"family": "workflow",
|
|
269
279
|
"title": _title(parsed, "Imported workflow draft"),
|
|
270
280
|
"requirements": requirements,
|
|
271
|
-
"workHints": [{"kind": "workflow-step", "summary": _safe_summary(step)} for step in steps
|
|
272
|
-
"validationHints": [_safe_summary(item) for item in validations
|
|
281
|
+
"workHints": [{"kind": "workflow-step", "summary": _safe_summary(step, limit=None)} for step in steps],
|
|
282
|
+
"validationHints": [_safe_summary(item, limit=None) for item in validations],
|
|
273
283
|
"hostLocalHints": {},
|
|
274
284
|
"redactions": _redaction_summary(parsed),
|
|
275
285
|
}
|
|
@@ -281,18 +291,19 @@ def _map_agent(parsed: dict[str, Any], text: str) -> dict[str, Any]:
|
|
|
281
291
|
role = _first_string(parsed, "role", "description", "purpose")
|
|
282
292
|
if role:
|
|
283
293
|
requirements.append(
|
|
284
|
-
|
|
294
|
+
"Review imported agent role hint before converting it into ALK task scope: "
|
|
295
|
+
f"{_safe_summary(role, limit=None)}."
|
|
285
296
|
)
|
|
286
297
|
requirements.extend(
|
|
287
|
-
f"Review imported agent policy hint {index + 1}: {_safe_summary(item)}."
|
|
288
|
-
for index, item in enumerate(policies
|
|
298
|
+
f"Review imported agent policy hint {index + 1}: {_safe_summary(item, limit=None)}."
|
|
299
|
+
for index, item in enumerate(policies)
|
|
289
300
|
)
|
|
290
301
|
if not requirements:
|
|
291
302
|
requirements = _requirements_from_lines(text, prefix="Review imported agent instruction")
|
|
292
303
|
return {
|
|
293
304
|
"family": "agent",
|
|
294
305
|
"title": _title(parsed, "Imported agent draft"),
|
|
295
|
-
"requirements": requirements
|
|
306
|
+
"requirements": requirements,
|
|
296
307
|
"workHints": [],
|
|
297
308
|
"validationHints": [],
|
|
298
309
|
"hostLocalHints": _host_local_hints(parsed),
|
|
@@ -309,8 +320,8 @@ def _candidate_plan(
|
|
|
309
320
|
profile: dict[str, Any],
|
|
310
321
|
) -> dict[str, Any] | None:
|
|
311
322
|
requirements = [
|
|
312
|
-
{"id": f"R-EXT-{index + 1}", "description":
|
|
313
|
-
for index, item in enumerate(mapping.get("requirements", [])
|
|
323
|
+
{"id": f"R-EXT-{index + 1}", "description": item}
|
|
324
|
+
for index, item in enumerate(mapping.get("requirements", []))
|
|
314
325
|
if isinstance(item, str) and item.strip()
|
|
315
326
|
]
|
|
316
327
|
if not requirements:
|
|
@@ -456,11 +467,11 @@ def _requirements_from_lines(text: str, *, prefix: str) -> list[str]:
|
|
|
456
467
|
for line in text.splitlines():
|
|
457
468
|
stripped = line.strip()
|
|
458
469
|
if stripped.startswith(("- ", "* ")):
|
|
459
|
-
requirements.append(f"{prefix}: {_safe_summary(stripped[2:])}.")
|
|
470
|
+
requirements.append(f"{prefix}: {_safe_summary(stripped[2:], limit=None)}.")
|
|
460
471
|
elif re.match(r"^\d+\.\s+", stripped):
|
|
461
472
|
numbered_text = re.sub(r"^\d+\.\s+", "", stripped)
|
|
462
|
-
requirements.append(f"{prefix}: {_safe_summary(numbered_text)}.")
|
|
463
|
-
return requirements
|
|
473
|
+
requirements.append(f"{prefix}: {_safe_summary(numbered_text, limit=None)}.")
|
|
474
|
+
return requirements
|
|
464
475
|
|
|
465
476
|
|
|
466
477
|
def _list_from(parsed: dict[str, Any], *keys: str) -> list[Any]:
|
|
@@ -488,15 +499,17 @@ def _title(parsed: dict[str, Any], fallback: str) -> str:
|
|
|
488
499
|
return _safe_summary(value) if value else fallback
|
|
489
500
|
|
|
490
501
|
|
|
491
|
-
def _safe_summary(value: Any) -> str:
|
|
502
|
+
def _safe_summary(value: Any, *, limit: int | None = MAX_REQUIREMENT_CHARS) -> str:
|
|
492
503
|
if isinstance(value, dict):
|
|
493
|
-
text = " ".join(
|
|
504
|
+
text = " ".join(
|
|
505
|
+
f"{_clean_key(str(key))} {_safe_summary(item, limit=limit)}" for key, item in sorted(value.items())
|
|
506
|
+
)
|
|
494
507
|
else:
|
|
495
508
|
text = str(value)
|
|
496
509
|
text = _LOCAL_PATH_RE.sub("[redacted-path]", text)
|
|
497
510
|
text = _SECRET_ASSIGNMENT_RE.sub(r"\1=[redacted]", text)
|
|
498
511
|
text = re.sub(r"\s+", " ", text).strip()
|
|
499
|
-
return _truncate(text,
|
|
512
|
+
return text if limit is None else _truncate(text, limit)
|
|
500
513
|
|
|
501
514
|
|
|
502
515
|
def _safe_identifier(value: str) -> str:
|
{agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0}/src/agent_lifecycle/imports/planning.py
RENAMED
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
import os
|
|
5
6
|
import re
|
|
6
7
|
from pathlib import Path
|
|
7
8
|
from typing import Any
|
|
8
9
|
|
|
9
10
|
from agent_lifecycle.context.rendering import estimate_tokens
|
|
10
11
|
from agent_lifecycle.contracts import LifecycleError, canonical_digest, load_json_object, sha256_hex
|
|
12
|
+
from agent_lifecycle.contracts.authority_io import open_authority_read
|
|
11
13
|
from agent_lifecycle.contracts.redaction import is_sensitive_key, redact_text_with_stats
|
|
12
14
|
from agent_lifecycle.planning import validate_plan_manifest
|
|
13
15
|
|
|
@@ -21,6 +23,12 @@ DEFAULT_TARGET_TOKENS = 4096
|
|
|
21
23
|
MAX_REQUIREMENTS = 8
|
|
22
24
|
MAX_REQUIREMENT_CHARS = 180
|
|
23
25
|
|
|
26
|
+
_IMPORT_OVERFLOW_CAPS = {
|
|
27
|
+
f"{prefix}-{kind}-cap-exceeded": cap
|
|
28
|
+
for prefix in ("planning-import", "external-dialect")
|
|
29
|
+
for kind, cap in (("item", MAX_REQUIREMENTS), ("text", MAX_REQUIREMENT_CHARS))
|
|
30
|
+
}
|
|
31
|
+
|
|
24
32
|
LOCAL_PATH_PATTERNS = (
|
|
25
33
|
re.compile(r"/" + r"Users/[^\s`'\"<>]+"),
|
|
26
34
|
re.compile(r"/" + r"Volumes/[^\s`'\"<>]+"),
|
|
@@ -47,16 +55,15 @@ def import_planning_input(
|
|
|
47
55
|
_check_positive_cap(max_input_bytes, "maxInputBytes")
|
|
48
56
|
_check_positive_cap(target_tokens, "targetTokens")
|
|
49
57
|
blockers: list[dict[str, Any]] = []
|
|
50
|
-
|
|
58
|
+
try:
|
|
59
|
+
with open_authority_read(Path(os.path.normpath(source_path.absolute()))) as stream:
|
|
60
|
+
data = stream.read(max_input_bytes + 1)
|
|
61
|
+
except FileNotFoundError:
|
|
51
62
|
blockers.append({"code": "planning-import-source-missing", "sourceLabel": source_path.name})
|
|
52
63
|
data = b""
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
blockers.append({"code": "planning-import-input-cap-exceeded", "inputBytes": size, "cap": max_input_bytes})
|
|
57
|
-
data = b""
|
|
58
|
-
else:
|
|
59
|
-
data = source_path.read_bytes()
|
|
64
|
+
if len(data) > max_input_bytes:
|
|
65
|
+
blockers.append({"code": "planning-import-input-cap-exceeded", "inputBytes": len(data), "cap": max_input_bytes})
|
|
66
|
+
data = b""
|
|
60
67
|
return _build_import_result(
|
|
61
68
|
data,
|
|
62
69
|
source_label=source_path.name,
|
|
@@ -121,6 +128,7 @@ def _build_import_result(
|
|
|
121
128
|
source_label=source_label,
|
|
122
129
|
native_dialect_profile_digest=native_dialect_profile_digest,
|
|
123
130
|
dialect_profile=dialect_profile,
|
|
131
|
+
blockers=blockers,
|
|
124
132
|
)
|
|
125
133
|
if text and not blockers
|
|
126
134
|
else None
|
|
@@ -191,22 +199,21 @@ def validate_import_result(result: dict[str, Any]) -> dict[str, Any]:
|
|
|
191
199
|
"""Verify that an import result cannot bypass draft, audit or freeze gates."""
|
|
192
200
|
|
|
193
201
|
blockers: list[dict[str, Any]] = []
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
if result.get("freezeBlocked") is not True:
|
|
207
|
-
blockers.append({"code": "planning-import-freeze-not-blocked"})
|
|
202
|
+
gates = (
|
|
203
|
+
(result.get("schemaVersion") != PLANNING_IMPORT_RESULT_SCHEMA, "planning-import-schema-invalid"),
|
|
204
|
+
(result.get("enabledByDefault") is not False, "planning-import-default-enabled"),
|
|
205
|
+
(result.get("activationMode") != "explicit-command", "planning-import-activation-mode"),
|
|
206
|
+
(result.get("sourceTrusted") is not False, "planning-import-source-trust"),
|
|
207
|
+
(result.get("requiresReview") is not True, "planning-import-review-not-required"),
|
|
208
|
+
(result.get("auditRequired") is not True, "planning-import-audit-not-required"),
|
|
209
|
+
(result.get("freezeBlocked") is not True, "planning-import-freeze-not-blocked"),
|
|
210
|
+
)
|
|
211
|
+
for failed, code in gates:
|
|
212
|
+
if failed:
|
|
213
|
+
blockers.append({"code": code})
|
|
208
214
|
if result.get("status") != "PASS":
|
|
209
215
|
blockers.append({"code": "planning-import-result-not-pass"})
|
|
216
|
+
blockers.extend(_import_overflow_blockers(result.get("blockers")))
|
|
210
217
|
candidate = result.get("candidatePlan")
|
|
211
218
|
candidate_digest = None
|
|
212
219
|
_validate_markdown_collection(result.get("markdownCollection"), blockers)
|
|
@@ -312,12 +319,17 @@ def _candidate_plan(
|
|
|
312
319
|
source_label: str,
|
|
313
320
|
native_dialect_profile_digest: str | None,
|
|
314
321
|
dialect_profile: dict[str, Any] | None,
|
|
322
|
+
blockers: list[dict[str, Any]],
|
|
315
323
|
) -> dict[str, Any] | None:
|
|
316
324
|
parsed = _parse_structured_input(data)
|
|
317
325
|
title = _extract_title(text, parsed)
|
|
318
|
-
|
|
319
|
-
|
|
326
|
+
descriptions = _extract_requirements(text, parsed)
|
|
327
|
+
blockers.extend(import_content_blockers(descriptions, prefix="planning-import", field="requirements"))
|
|
328
|
+
if not descriptions or blockers:
|
|
320
329
|
return None
|
|
330
|
+
requirements = [
|
|
331
|
+
{"id": f"R-IMPORT-{index + 1}", "description": description} for index, description in enumerate(descriptions)
|
|
332
|
+
]
|
|
321
333
|
source_digest = sha256_hex(data)
|
|
322
334
|
criteria = [
|
|
323
335
|
{
|
|
@@ -412,7 +424,49 @@ def _extract_title(text: str, parsed: dict[str, Any] | None) -> str:
|
|
|
412
424
|
return "Imported draft plan"
|
|
413
425
|
|
|
414
426
|
|
|
415
|
-
def
|
|
427
|
+
def _import_overflow_blockers(value: Any) -> list[dict[str, Any]]:
|
|
428
|
+
if not isinstance(value, list):
|
|
429
|
+
return []
|
|
430
|
+
return [safe for item in value[:2] if (safe := _safe_import_overflow(item)) is not None]
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
def _safe_import_overflow(value: Any) -> dict[str, Any] | None:
|
|
434
|
+
if not isinstance(value, dict):
|
|
435
|
+
return None
|
|
436
|
+
code, field, cap = value.get("code"), value.get("field"), value.get("cap")
|
|
437
|
+
if not isinstance(code, str) or not isinstance(field, str) or type(cap) is not int:
|
|
438
|
+
return None
|
|
439
|
+
if code not in _IMPORT_OVERFLOW_CAPS or field not in {"requirements", "validationHints"}:
|
|
440
|
+
return None
|
|
441
|
+
if cap != _IMPORT_OVERFLOW_CAPS[code]:
|
|
442
|
+
return None
|
|
443
|
+
safe: dict[str, Any] = {"code": code, "field": field}
|
|
444
|
+
for key in ("count", "cap", "chars", "index"):
|
|
445
|
+
number = value.get(key)
|
|
446
|
+
if type(number) is int and 0 <= number <= 2**63 - 1:
|
|
447
|
+
safe[key] = number
|
|
448
|
+
return safe
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
def import_content_blockers(values: list[str], *, prefix: str, field: str) -> list[dict[str, Any]]:
|
|
452
|
+
"""Refuse discarded content with bounded metadata instead of a partial draft."""
|
|
453
|
+
if len(values) > MAX_REQUIREMENTS:
|
|
454
|
+
return [{"code": f"{prefix}-item-cap-exceeded", "field": field, "count": len(values), "cap": MAX_REQUIREMENTS}]
|
|
455
|
+
for index, value in enumerate(values):
|
|
456
|
+
if len(value) > MAX_REQUIREMENT_CHARS:
|
|
457
|
+
return [
|
|
458
|
+
{
|
|
459
|
+
"code": f"{prefix}-text-cap-exceeded",
|
|
460
|
+
"field": field,
|
|
461
|
+
"index": index + 1,
|
|
462
|
+
"chars": len(value),
|
|
463
|
+
"cap": MAX_REQUIREMENT_CHARS,
|
|
464
|
+
}
|
|
465
|
+
]
|
|
466
|
+
return []
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
def _extract_requirements(text: str, parsed: dict[str, Any] | None) -> list[str]:
|
|
416
470
|
extracted: list[str] = []
|
|
417
471
|
if parsed is not None:
|
|
418
472
|
raw_requirements = parsed.get("requirements")
|
|
@@ -439,10 +493,7 @@ def _extract_requirements(text: str, parsed: dict[str, Any] | None) -> list[dict
|
|
|
439
493
|
)
|
|
440
494
|
if fallback:
|
|
441
495
|
extracted.append(fallback)
|
|
442
|
-
|
|
443
|
-
return [
|
|
444
|
-
{"id": f"R-IMPORT-{index + 1}", "description": item} for index, item in enumerate(cleaned[:MAX_REQUIREMENTS])
|
|
445
|
-
]
|
|
496
|
+
return [_clean_line(item, limit=None) for item in extracted if item.strip()]
|
|
446
497
|
|
|
447
498
|
|
|
448
499
|
def _decode_text(data: bytes, blockers: list[dict[str, Any]]) -> str:
|
|
@@ -535,11 +586,11 @@ def _safe_identifier(value: str) -> str:
|
|
|
535
586
|
return re.sub(r"[^a-z0-9_.-]+", "-", lowered).strip("-")[:80]
|
|
536
587
|
|
|
537
588
|
|
|
538
|
-
def _clean_line(value: str, *, limit: int) -> str:
|
|
589
|
+
def _clean_line(value: str, *, limit: int | None) -> str:
|
|
539
590
|
cleaned = re.sub(r"\s+", " ", value).strip()
|
|
540
591
|
for pattern in LOCAL_PATH_PATTERNS:
|
|
541
592
|
cleaned = pattern.sub("[redacted-path]", cleaned)
|
|
542
|
-
return cleaned[:limit]
|
|
593
|
+
return cleaned if limit is None else cleaned[:limit]
|
|
543
594
|
|
|
544
595
|
|
|
545
596
|
def _check_positive_cap(value: int, field: str) -> None:
|
{agent_lifecycle_kit-2.35.0 → agent_lifecycle_kit-2.37.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-lifecycle-kit
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.37.0
|
|
4
4
|
Summary: Provider-neutral lifecycle control layer that helps coding agents plan, execute, validate, and prove software tasks to completion.
|
|
5
5
|
Author: Agent Lifecycle Kit contributors
|
|
6
6
|
License: Apache-2.0
|
|
@@ -33,7 +33,7 @@ Dynamic: license-file
|
|
|
33
33
|
|
|
34
34
|
**Agent Lifecycle Kit (ALK)** coordinates coding-agent work through a verifiable finish. It keeps the requested outcome, reviewed plan, execution boundaries, evidence and acceptance decisions connected while the external agent changes the project.
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
ALK secures imports and documents the [external AI SDLC CLI contract](docs/guides/ai-sdlc-integration.md) and eight bounded consumer cases. Wheel/sdist include both guides and case JSON; the plugin ships the paired CLI contract. Native authority and release gates remain required.
|
|
37
37
|
|
|
38
38
|
The provider-neutral workflow works with Codex, Claude Code, Qwen Code, Goose, OpenInterpreter, Pi, Grok Build, or another CLI. Provider commands, model choice and secret handling stay in adapters or host-local profiles.
|
|
39
39
|
|
|
@@ -42,7 +42,7 @@ Release 2.28 adds [bounded lifecycle and accounting baselines](docs/reference/pe
|
|
|
42
42
|
## Quick start
|
|
43
43
|
Start with [install ALK and make the first run](docs/guides/install-and-first-run.md). Release 2.23 adds [compact S0/S1 authoring](docs/reference/tier-proportional-plan-packages.md) with explicit checklist completion and unchanged approval gates. Release 2.22 adds [conservative plan-review reuse](docs/reference/conservative-delta-review.md) with independent current applicability and no automatic full reruns. Release 2.21 adds [command accounting, bounded preparation and response recovery](docs/reference/source-native-workflow-accounting.md). Release 2.20 adds [target-bound initialization](docs/reference/cli.md#release-220-composed-initialization-and-digest-display), [bounded local continuation](docs/reference/workflow-continuation.md) and batched Git snapshots. Release 2.19 adds [safe artifact authoring and planning preflight](docs/reference/safe-artifact-authoring.md), [bounded review handoff](docs/reference/review-mesh.md#bounded-review-handoff) and thin skills with complete references. Release 2.18 bounds process/Git diagnostics, hardens signing and distinguishes OpenCode 1.x/2.x compatibility ([adapter notes](docs/adapters/opencode.md)); 2.17 strengthens [workflow validation and recovery](docs/reference/workflow-completeness.md). Release 2.16 introduced cumulative accounting within verified host capabilities; see [retention maintenance](docs/operations/retention-maintenance.md).
|
|
44
44
|
|
|
45
|
-
It includes macOS, Linux and Windows instructions, Python 3.11-3.15, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.
|
|
45
|
+
It includes macOS, Linux and Windows instructions, Python 3.11-3.15, [PyPI](https://pypi.org/project/agent-lifecycle-kit/) installation with `python -m pip install agent-lifecycle-kit==2.37.0`, and common `agent-lifecycle version` errors. See [2.15 migration notes](docs/reference/cli.md#migrating-authority-artifacts-to-215) and [authority boundaries](docs/reference/authority-artifact-boundaries.md).
|
|
46
46
|
|
|
47
47
|
For a quick start, run:
|
|
48
48
|
|