agent-lifecycle-kit 2.47.0__tar.gz → 2.48.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.47.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.48.0}/PKG-INFO +3 -3
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/README.md +2 -2
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/pyproject.toml +2 -2
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/_version.py +1 -1
- agent_lifecycle_kit-2.48.0/src/agent_lifecycle/adapter_sessions/plugin_updates.py +223 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/command_registry.py +1 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/dispatch.py +4 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/parsers.py +2 -0
- agent_lifecycle_kit-2.48.0/src/agent_lifecycle/cli/plugin_updates.py +140 -0
- agent_lifecycle_kit-2.48.0/src/agent_lifecycle/contracts/plugin_update_schemas.py +181 -0
- agent_lifecycle_kit-2.48.0/src/agent_lifecycle/contracts/plugin_update_validation.py +270 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/schemas.py +2 -0
- agent_lifecycle_kit-2.48.0/src/agent_lifecycle/data/plugin-updates/release-impact.v1.json +1 -0
- agent_lifecycle_kit-2.48.0/src/agent_lifecycle/diagnostics/plugin_updates.py +623 -0
- agent_lifecycle_kit-2.48.0/src/agent_lifecycle/planning/update_impact.py +398 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0/src/agent_lifecycle_kit.egg-info}/PKG-INFO +3 -3
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle_kit.egg-info/SOURCES.txt +7 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/tests/cli/fixtures/external-consumer-cases.json +2 -1
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/LICENSE +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/NOTICE +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/benchmarks/reference-tasks/README.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/benchmarks/reference-tasks/manifest.json +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/benchmarks/reference-tasks/rt01-planning/oracle.json +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/benchmarks/reference-tasks/rt01-planning/task.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/benchmarks/reference-tasks/rt02-architecture-review/oracle.json +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/benchmarks/reference-tasks/rt02-architecture-review/task.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/benchmarks/reference-tasks/rt03-bug-forensics/oracle.json +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/benchmarks/reference-tasks/rt03-bug-forensics/task.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/benchmarks/reference-tasks/rt04-s1-managed-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/benchmarks/reference-tasks/rt04-s1-managed-task/task.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/oracle.json +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/benchmarks/reference-tasks/rt05-s2-evidence-task/task.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/docs/guides/ai-sdlc-integration.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/docs/guides/deterministic-workflow-recipes.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/docs/guides/lifecycle-cookbook.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/docs/reference/model-routing.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/docs/reference/project-workflow-profile.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/docs/reference/safe-artifact-authoring.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/docs/reference/workflow-continuation.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/docs/ru/guides/ai-sdlc-integration.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/docs/ru/guides/deterministic-workflow-recipes.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/docs/ru/guides/lifecycle-cookbook.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/docs/ru/reference/model-routing.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/docs/ru/reference/project-workflow-profile.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/docs/ru/reference/safe-artifact-authoring.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/docs/ru/reference/workflow-continuation.md +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/setup.cfg +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/__main__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/closing_resource_admission.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/closing_resource_policy.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/closing_resource_recovery.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/closing_resources.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/closing_types.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/contracts.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/declared_ledger.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/declared_ledger_legacy.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/declared_ledger_records.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/declared_source_route.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/financial_transactions.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/generic_source_usage.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/host_bridge.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/input_fit.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/journal.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/legacy_source_usage.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/normalization.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/opening_balances.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/profile_schema.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/source_usage_context.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/support_profiles.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/usage_types.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/workflow_authority_store.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/workflow_state_store.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/accounting/workflow_store.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/agent_plugin_probe.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/attempt_authority.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/bootstrap_r11.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/codex_exact_prompt.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/codex_input_diagnostics.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/codex_prompt_preparation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/codex_source_exposure.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/codex_source_subject.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/contracts.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/env.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/external_check.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/immutable_input.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/input_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/launch_execution.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/launch_preflight.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/launcher.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/limited_native_evidence.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/local_launch_profile.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/managed_process.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/ordinary_audit.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/planning_launch.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/planning_session.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/private_input.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/process.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/process_admission.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/process_capture.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/process_control.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/process_groups.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/process_telemetry.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/qualification.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/qualification_context.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/redaction.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/session_store.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/source_review_contracts.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/source_review_history.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/source_review_inputs.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/source_review_preparation_records.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/source_review_roles.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/source_review_shards.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/source_review_support.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/source_review_transcript.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/stage_launch.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/start_input.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/start_receipts.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/start_routing.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/task_intake.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/unified_start.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/windows_pipe.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/workflow_bridge.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/adapter_sessions/worktree_identity.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/audit/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/audit/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/audit/delta.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/audit/delta_review.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/audit/domain_language.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/audit/external_checks.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/audit/implementation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/audit/ownership.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/audit/package.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/audit/proof_chain.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/audit/proof_findings.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/audit/proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/audit/review_packet.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/audit/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/audit/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/benchmarks/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/benchmarks/comparison.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/benchmarks/contracts.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/benchmarks/evaluator.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/benchmarks/oracles.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/benchmarks/qualification.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/benchmarks/reporting.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/benchmarks/stratification.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/changesets/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/changesets/git.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/changesets/git_io.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/changesets/snapshot.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/adapter.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/benchmarks.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/compact_plan_commands.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/dispatch_adapters.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/dispatch_audit.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/dispatch_contracts.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/dispatch_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/dispatch_metrics.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/dispatch_observability.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/dispatch_planning.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/dispatch_research.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/errors.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/followup.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/host_launch.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/lifecycle_parsers.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/main.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/metrics_parser.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/model_setup.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/observability_parsers.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/plan_lock_commands.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/planning_parsers.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/policy.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/project.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/research.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/start.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/strategy.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/workflow_task_parsers.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/worktree.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/compiler/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/compiler/output_contract.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/compiler/phase_packets.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/compiler/small_model_packets.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/compiler/task_packets.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/context/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/context/checkpoint_store.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/context/checkpoints.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/context/episode_retrieval.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/context/external_memory.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/context/profiles.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/context/rendering.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/context/thread_bridge_context.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/adapter_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/adapter_event_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/adapter_session_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/adapter_task_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/agent_plugin_qualification_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/artifact_authoring_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/audit_optimization_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/audit_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/authority_io.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/authority_text.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/benchmark_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/bounded_json.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/bug_forensics_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/canonical.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/closing_resource_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/closing_time.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/closing_window_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/compact_plan_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/compatibility.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/context_checkpoint_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/context_model_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/core_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/cross_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/deadline_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/deadlines.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/declared_source_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/display_identity.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/domain_language.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/domain_language_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/ed25519.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/errors.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/evidence_import_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/evidence_receipt_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/execution_strategy_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/execution_target.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/external_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/external_job_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/finding_check_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/goal_validation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/host_capability_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/immutable_input_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/implementation_audit_validation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/import_dialect_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/independent_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/launch_qualification.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/legacy_runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/lifecycle_action_catalog.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/lifecycle_control_definitions.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/lifecycle_control_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/lifecycle_control_validation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/local_launch_validation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/metric_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/model_classes.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/multi_run_view_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/ownership_paths.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/paths.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/performance_limits.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/persistence.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/phase_packet_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/plan_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/plan_delta_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/plan_manifest_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/planning_launch_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/policy_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/preparation_policy.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/private_storage.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/private_storage_compat.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/process_execution_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/process_lock.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/process_redaction.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/progress_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/progress_hook_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/project_profile_preset_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/project_profile_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/proof_integrity_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/proof_validation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/public_locators.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/quality_modes.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/redaction.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/release_accounting_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/release_contract_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/research_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/review_input_types.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/review_mesh_recommendation_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/review_mesh_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/review_quality_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/review_remedy_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/review_round_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/review_verdict.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/reviewer_identity_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/runner_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/runner_worktree_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/sandbox_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/schema_builders.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/scoped_usage_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/security_analysis_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/statistical_evidence_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/status_goal_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/structured_result_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/task_template_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/thread_bridge_schema_definitions.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/thread_bridge_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/thread_bridge_validation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/token_estimation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/usage_export_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/validation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/validation_ladder_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/windows_security.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/workflow_artifact_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/workflow_authority.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/workflow_authority_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/workflow_authorization_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/workflow_continuation_batch_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/workflow_continuation_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/workflow_economics_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/workflow_finalization_types.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/workflow_run_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/workflow_state_authority.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/workflow_state_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/workflow_storage.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/workflow_storage_context.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/workflow_storage_io.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/contracts/workflow_storage_schemas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/data/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/data/profiles/external-checks/declared-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/data/profiles/external-checks/import-boundaries.v1.json +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/data/profiles/external-checks/module-dependencies.v1.json +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/data/profiles/lifecycle-baselines.v1.json +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/data/profiles/model-routing-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/feature-implementation.v1.json +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/quick-change.v1.json +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/data/profiles/project-workflow-presets/research-review.v1.json +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/data/profiles/risk-execution-policy.v1.json +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/data/profiles/small-context-profile.v1.json +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/diagnostics/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/diagnostics/bundles.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/diagnostics/installation_catalog.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/diagnostics/readiness.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/evidence_index/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/evidence_index/core.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/evidence_index/episode_index.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/evidence_index/external_context.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/followup/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/followup/records.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/freeze/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/freeze/locks.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/freeze/package_integrity.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/freeze/review_inputs.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/goal/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/goal/records.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/goal/view.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/acp_capability.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/agent_plugin_qualification.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/capabilities.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/context_events.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/contracts.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/event_capture.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/events.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/external_jobs.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/inspection.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/inspection_claude.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/inspection_codex.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/inspection_common.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/inspection_cursor.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/inspection_gemini_cli.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/inspection_hermes.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/inspection_kimi_code.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/inspection_opencode.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/inspection_profile.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/inspection_qwen_code.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/lifecycle_control.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/lifecycle_control_qualification.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/lifecycle_gate.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/opencode_compatibility.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/process_port.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/receipts.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/scaffold.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/structured_results.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/usage_normalizers.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/host_protocol/validation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/imports/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/imports/agentskills_profile.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/imports/bmad_profile.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/imports/constitution_adr.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/imports/dialect_profiles.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/imports/external_agent.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/imports/external_dialects.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/imports/external_workflow.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/imports/multi_markdown.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/imports/openspec_profile.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/imports/planning.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/imports/security_findings.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/imports/spec_kit_profile.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/imports/spec_kitty_profile.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/metrics/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/metrics/audit_efficiency.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/metrics/audit_optimization.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/metrics/audit_samples.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/metrics/command_resources.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/metrics/cost_collection.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/metrics/costs.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/metrics/goal_progress.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/metrics/outcome_index.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/metrics/phase_resources.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/metrics/plan_package_comparison.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/metrics/recommendations.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/metrics/regression_signals.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/metrics/release_accounting.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/metrics/usage_export.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/metrics/workflow_economics.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/migration/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/migration/legacy_runner.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/model_routing/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/model_routing/availability.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/model_routing/profiles.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/model_routing/qualified_selection.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/model_routing/receipts.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/model_routing/resolver.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/model_routing/setup.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/model_routing/stage_bindings.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/neutrality/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/neutrality/__main__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/neutrality/authority.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/neutrality/canonical.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/neutrality/cli.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/neutrality/ed25519.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/neutrality/errors.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/neutrality/gate.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/neutrality/git_objects.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/neutrality/matching.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/neutrality/paths.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/neutrality/policy.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/neutrality/receipt.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/neutrality/scanner.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/neutrality/test_runner.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/planning/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/planning/acceptance_markdown.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/planning/compact_packages.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/planning/completeness.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/planning/continuity.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/planning/deltas.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/planning/manifest_contract.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/planning/prerequisites.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/planning/task_compatibility.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/planning/templates.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/planning/tiering.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/planning/traceability.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/planning/validation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/planning/verification.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/policy/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/policy/adaptive_lifecycle.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/policy/apply.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/policy/execution_strategy.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/policy/proposals.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/policy/quality_floor.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/policy/risk_execution.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/policy/runtime_receipts.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/policy/thread_bridge.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/project/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/project/domain_language.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/project/guidance.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/project/merge.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/project/presets.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/project/principles.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/project/profile.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/py.typed +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/quality/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/quality/architecture_policy.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/quality/bug_forensics.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/quality/bug_forensics_advisor.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/quality/bug_forensics_recipes.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/quality/cross_check.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/quality/dependency_impact.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/quality/external_checks.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/quality/failure_classification.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/quality/packs.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/quality/security_analysis.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/quality/validation_ladder.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/reporting/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/reporting/attention.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/reporting/change_summary.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/reporting/event_feed.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/reporting/execution_resources.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/reporting/multi_run.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/reporting/progress_bridge.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/reporting/progress_hooks.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/reporting/progress_terminal.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/reporting/progress_view.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/reporting/status_view.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/reporting/usage_export.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/research/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/research/evidence.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/research/preflight.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/research/provenance.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/research/validation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/resources.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/review/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/review/provenance.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/review/validation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/review_mesh/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/review_mesh/assignments.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/review_mesh/contracts.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/review_mesh/independence.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/review_mesh/operator_templates.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/review_mesh/preflight.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/review_mesh/quorum.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/review_mesh/recommendation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/review_mesh/remediation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/review_mesh/results.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/review_mesh/synthesis.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/review_mesh/validation_helpers.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/runner/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/runner/core.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/runner/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/specification/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/specification/completion_check.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/specification/completion_gate.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/specification/completion_signal.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/specification/validation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/artifact_builders.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/artifacts.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/audit_evidence.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/authorization.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/budget_decisions.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/budget_policy.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/budget_receipts.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/bug_forensics_gates.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/checkpoint_gate.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/closing_policy.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/closing_window.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/continuation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/continuation_batch.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/controller.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/deadline_guards.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/events.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/final_proof_integrity.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/finalization.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/gates.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/immutable_input.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/implementation_audit_gate.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/initialization.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/leases.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/limited_usage.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/lineage.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/managed_runner.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/model_usage.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/next_action.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/operation_kernel.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/plan_adoption.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/query.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/review_mesh_gate.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/reviews.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/risk_execution_gate.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/run.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/run_transitions.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/sandbox_policy.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/sandbox_receipts.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/selectors.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/source_usage_prepare.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/state.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/storage.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/storage_io.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/task_outcomes.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/task_start.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/task_transitions.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/transactions.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/workflow/transition_contract.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/worktree/__init__.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/worktree/isolation.py +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle_kit.egg-info/dependency_links.txt +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle_kit.egg-info/entry_points.txt +0 -0
- {agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle_kit.egg-info/top_level.txt +0 -0
{agent_lifecycle_kit-2.47.0/src/agent_lifecycle_kit.egg-info → agent_lifecycle_kit-2.48.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.48.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
|
|
@@ -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.48.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
|
|
|
@@ -188,7 +188,7 @@ Adapter installation and support-level details live in [Adapter install](docs/ad
|
|
|
188
188
|
## Documentation
|
|
189
189
|
|
|
190
190
|
- Start: [English documentation](docs/README.md), [Русская документация](docs/ru/README.md), [Install](docs/guides/install-and-first-run.md), [Quickstart](docs/guides/quickstart.md), [Beginner and advanced workflows](docs/guides/beginner-and-advanced-workflows.md), [Commands by task](docs/guides/commands-by-task.md), [Research workflow](docs/guides/research-workflow.md), [Lifecycle task scenarios](docs/guides/lifecycle-cookbook.md), and [Code review workflows](docs/guides/code-review-workflows.md).
|
|
191
|
-
- Planning and adapters: [Issue to specification drafts](docs/guides/issue-to-spec.md), [Adapter install](docs/adapters/install.md), and [Adapter support matrix](docs/adapters/support-matrix.md).
|
|
191
|
+
- Planning and adapters: [Bounded plugin updates](docs/reference/plugin-updates.md), [Issue to specification drafts](docs/guides/issue-to-spec.md), [Adapter install](docs/adapters/install.md), and [Adapter support matrix](docs/adapters/support-matrix.md).
|
|
192
192
|
- Reference: [System architecture](docs/architecture/system-architecture.md), [workflow customization and execution controls](docs/reference/workflow-customization.md), [guided workflow continuation](docs/reference/workflow-continuation.md), [execution strategy](docs/reference/execution-strategy.md), [CLI reference](docs/reference/cli.md), [External verification checks](docs/reference/external-verification-checks.md), [Bounded external tool jobs](docs/reference/external-tool-jobs.md), [Project domain language](docs/reference/project-domain-language.md), [Multi-run attention view](docs/reference/multi-run-attention-view.md), [Plan verification](docs/reference/plan-verification.md), [Research evidence](docs/reference/research-evidence.md), [Public locators and redaction](docs/reference/public-locators-and-redaction.md), [Finding-to-check adoption](docs/reference/finding-check-adoption.md), [Source of truth](docs/reference/source-of-truth.md), [Managed lifecycle runner](docs/reference/managed-lifecycle-runner.md), [Managed adapter sessions](docs/reference/managed-adapter-sessions.md), [Portable Agent Plugins](docs/reference/agent-plugins.md), [Plugin publication](docs/reference/plugin-publication.md), [Implementation audit](docs/reference/implementation-audit.md), [Plan completeness](docs/reference/plan-completeness.md), [Public contracts](docs/reference/public-contracts.md), and [Readiness diagnostics](docs/reference/readiness-diagnostics.md).
|
|
193
193
|
- Quality and resources: [Reference-task evaluation](docs/reference/reference-task-evaluation.md), [model routing and optional ranking](docs/reference/model-routing.md), [quality-cost learning](docs/reference/quality-cost-learning.md), [review efficiency](docs/reference/review-efficiency.md), [evidence independence](docs/reference/evidence-independence.md), [performance and resource budgets](docs/reference/performance-and-resource-budgets.md), [lifecycle cost accounting](docs/reference/lifecycle-cost.md), [host-local token accounting](docs/reference/host-local-token-accounting.md), [process execution observability](docs/reference/process-execution-observability.md), [Usage export](docs/reference/usage-export.md), and [Evidence integrity](docs/reference/evidence-integrity.md).
|
|
194
194
|
- Profiles and operations: [Project workflow presets](docs/reference/workflow-presets.md), [Project workflow profile](docs/reference/project-workflow-profile.md), [Read-only status views](docs/reference/read-only-status-view.md), [Adapter progress bridge](docs/reference/automatic-progress-bridge.md), [Sandbox boundaries](docs/reference/sandbox-boundaries.md), [Import mappers](docs/reference/import-mappers.md), [Episode retrieval](docs/reference/episode-retrieval.md), [Runner migration](docs/guides/runner-migration-2.md), [Runner recovery records](docs/reference/runner-recovery.md), [Cross-check profile](docs/reference/cross-check-profile.md), [Review Mesh](docs/reference/review-mesh.md), [Risk-bound independent verification](docs/reference/risk-bound-independent-verification.md), [Bug Forensics profile](docs/reference/bug-forensics.md), and [Bug Forensics context budget](docs/reference/bug-forensics-context-budget.md).
|
|
@@ -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.48.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
|
|
|
@@ -165,7 +165,7 @@ Adapter installation and support-level details live in [Adapter install](docs/ad
|
|
|
165
165
|
## Documentation
|
|
166
166
|
|
|
167
167
|
- Start: [English documentation](docs/README.md), [Русская документация](docs/ru/README.md), [Install](docs/guides/install-and-first-run.md), [Quickstart](docs/guides/quickstart.md), [Beginner and advanced workflows](docs/guides/beginner-and-advanced-workflows.md), [Commands by task](docs/guides/commands-by-task.md), [Research workflow](docs/guides/research-workflow.md), [Lifecycle task scenarios](docs/guides/lifecycle-cookbook.md), and [Code review workflows](docs/guides/code-review-workflows.md).
|
|
168
|
-
- Planning and adapters: [Issue to specification drafts](docs/guides/issue-to-spec.md), [Adapter install](docs/adapters/install.md), and [Adapter support matrix](docs/adapters/support-matrix.md).
|
|
168
|
+
- Planning and adapters: [Bounded plugin updates](docs/reference/plugin-updates.md), [Issue to specification drafts](docs/guides/issue-to-spec.md), [Adapter install](docs/adapters/install.md), and [Adapter support matrix](docs/adapters/support-matrix.md).
|
|
169
169
|
- Reference: [System architecture](docs/architecture/system-architecture.md), [workflow customization and execution controls](docs/reference/workflow-customization.md), [guided workflow continuation](docs/reference/workflow-continuation.md), [execution strategy](docs/reference/execution-strategy.md), [CLI reference](docs/reference/cli.md), [External verification checks](docs/reference/external-verification-checks.md), [Bounded external tool jobs](docs/reference/external-tool-jobs.md), [Project domain language](docs/reference/project-domain-language.md), [Multi-run attention view](docs/reference/multi-run-attention-view.md), [Plan verification](docs/reference/plan-verification.md), [Research evidence](docs/reference/research-evidence.md), [Public locators and redaction](docs/reference/public-locators-and-redaction.md), [Finding-to-check adoption](docs/reference/finding-check-adoption.md), [Source of truth](docs/reference/source-of-truth.md), [Managed lifecycle runner](docs/reference/managed-lifecycle-runner.md), [Managed adapter sessions](docs/reference/managed-adapter-sessions.md), [Portable Agent Plugins](docs/reference/agent-plugins.md), [Plugin publication](docs/reference/plugin-publication.md), [Implementation audit](docs/reference/implementation-audit.md), [Plan completeness](docs/reference/plan-completeness.md), [Public contracts](docs/reference/public-contracts.md), and [Readiness diagnostics](docs/reference/readiness-diagnostics.md).
|
|
170
170
|
- Quality and resources: [Reference-task evaluation](docs/reference/reference-task-evaluation.md), [model routing and optional ranking](docs/reference/model-routing.md), [quality-cost learning](docs/reference/quality-cost-learning.md), [review efficiency](docs/reference/review-efficiency.md), [evidence independence](docs/reference/evidence-independence.md), [performance and resource budgets](docs/reference/performance-and-resource-budgets.md), [lifecycle cost accounting](docs/reference/lifecycle-cost.md), [host-local token accounting](docs/reference/host-local-token-accounting.md), [process execution observability](docs/reference/process-execution-observability.md), [Usage export](docs/reference/usage-export.md), and [Evidence integrity](docs/reference/evidence-integrity.md).
|
|
171
171
|
- Profiles and operations: [Project workflow presets](docs/reference/workflow-presets.md), [Project workflow profile](docs/reference/project-workflow-profile.md), [Read-only status views](docs/reference/read-only-status-view.md), [Adapter progress bridge](docs/reference/automatic-progress-bridge.md), [Sandbox boundaries](docs/reference/sandbox-boundaries.md), [Import mappers](docs/reference/import-mappers.md), [Episode retrieval](docs/reference/episode-retrieval.md), [Runner migration](docs/guides/runner-migration-2.md), [Runner recovery records](docs/reference/runner-recovery.md), [Cross-check profile](docs/reference/cross-check-profile.md), [Review Mesh](docs/reference/review-mesh.md), [Risk-bound independent verification](docs/reference/risk-bound-independent-verification.md), [Bug Forensics profile](docs/reference/bug-forensics.md), and [Bug Forensics context budget](docs/reference/bug-forensics-context-budget.md).
|
|
@@ -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.48.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"
|
|
@@ -56,7 +56,7 @@ agent-lifecycle-neutrality = "agent_lifecycle.neutrality.cli:main"
|
|
|
56
56
|
where = ["src"]
|
|
57
57
|
|
|
58
58
|
[tool.setuptools.package-data]
|
|
59
|
-
agent_lifecycle = ["py.typed", "data/profiles/**/*.json"]
|
|
59
|
+
agent_lifecycle = ["py.typed", "data/profiles/**/*.json", "data/plugin-updates/*.json"]
|
|
60
60
|
|
|
61
61
|
[tool.ruff]
|
|
62
62
|
target-version = "py311"
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
"""Host-neutral advice and explicit refusal; no native update dispatch."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
from typing import Any, cast
|
|
7
|
+
|
|
8
|
+
from agent_lifecycle.contracts import canonical_digest, sha256_hex
|
|
9
|
+
from agent_lifecycle.contracts.paths import normalize_repo_path, read_stable_repository_file
|
|
10
|
+
from agent_lifecycle.contracts.plugin_update_schemas import UPDATE_SOURCE
|
|
11
|
+
from agent_lifecycle.contracts.plugin_update_validation import (
|
|
12
|
+
MAX_PLAN_INPUT_BYTES,
|
|
13
|
+
MAX_UPDATE_BYTES,
|
|
14
|
+
require_update,
|
|
15
|
+
update_digest,
|
|
16
|
+
update_object,
|
|
17
|
+
update_report,
|
|
18
|
+
update_version,
|
|
19
|
+
validate_update_report,
|
|
20
|
+
validate_update_request,
|
|
21
|
+
)
|
|
22
|
+
from agent_lifecycle.diagnostics.plugin_updates import observe_update_identities
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def _assessment_subjects(assessment: dict[str, Any]) -> tuple[dict[str, str], list[dict[str, Any]]]:
|
|
26
|
+
plans = assessment["details"].get("plans")
|
|
27
|
+
require_update(isinstance(plans, list) and 0 < len(plans) <= 32, "offer needs1..32 assessed plans")
|
|
28
|
+
plans = cast(list[dict[str, Any]], plans)
|
|
29
|
+
subjects: dict[str, str] = {}
|
|
30
|
+
for plan in plans:
|
|
31
|
+
require_update(
|
|
32
|
+
isinstance(plan, dict) and plan.get("structuralResult") == "PASS",
|
|
33
|
+
"offer requires structurally verified plans",
|
|
34
|
+
)
|
|
35
|
+
hashes = plan.get("inputSHA256")
|
|
36
|
+
require_update(isinstance(hashes, dict) and 0 < len(hashes) <= 64, "offer input file cap64")
|
|
37
|
+
hashes = cast(dict[str, str], hashes)
|
|
38
|
+
require_update(
|
|
39
|
+
isinstance(plan.get("manifest"), str) and plan["manifest"] in hashes,
|
|
40
|
+
"assessed manifest must have an exact input hash",
|
|
41
|
+
)
|
|
42
|
+
require_update(isinstance(plan.get("lifecycle"), dict), "assessed lifecycle unavailable")
|
|
43
|
+
for path, digest in hashes.items():
|
|
44
|
+
normalized = normalize_repo_path(path)
|
|
45
|
+
update_digest(digest)
|
|
46
|
+
require_update(
|
|
47
|
+
normalized not in subjects or subjects[normalized] == digest, "conflicting assessed file identity"
|
|
48
|
+
)
|
|
49
|
+
subjects[normalized] = digest
|
|
50
|
+
return subjects, plans
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def _recheck_subjects(root: Path, subjects: dict[str, str]) -> None:
|
|
54
|
+
remaining = MAX_PLAN_INPUT_BYTES
|
|
55
|
+
for path, digest in subjects.items():
|
|
56
|
+
require_update(remaining > 0, "offer aggregate input cap8MiB")
|
|
57
|
+
body = read_stable_repository_file(root, path, max_bytes=min(MAX_UPDATE_BYTES, remaining))
|
|
58
|
+
remaining -= len(body)
|
|
59
|
+
require_update(sha256_hex(body) == digest, "assessment became stale; reassess changed input")
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
def _target(request: dict[str, Any], assessment: dict[str, Any]) -> dict[str, Any]:
|
|
63
|
+
target = update_object(
|
|
64
|
+
assessment["details"].get("target"), {"version", "sourceCommit"}, {"version", "sourceCommit"}
|
|
65
|
+
)
|
|
66
|
+
version = update_version(target.get("version"))
|
|
67
|
+
commit = target["sourceCommit"]
|
|
68
|
+
if commit is not None:
|
|
69
|
+
update_digest(commit, 40)
|
|
70
|
+
require_update(request.get("targetVersion", version) == version, "offer target differs from request")
|
|
71
|
+
require_update(request.get("pin") in (None, "v" + version), "offer differs from immutable pin")
|
|
72
|
+
require_update(
|
|
73
|
+
commit is None or request.get("trustedTargetCommit", commit) == commit, "offer commit differs from request"
|
|
74
|
+
)
|
|
75
|
+
require_update(
|
|
76
|
+
request.get("channel", "stable") == "prerelease" or "-" not in version, "offer prerelease is not opted in"
|
|
77
|
+
)
|
|
78
|
+
return {"version": version, "sourceCommit": commit, "source": UPDATE_SOURCE}
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def _manual_codex_commands(version: str) -> list[list[str]]:
|
|
82
|
+
# Inert native CLI shapes, not a transaction, qualification or permission.
|
|
83
|
+
return [
|
|
84
|
+
["codex", "plugin", "marketplace", "remove", "agent-lifecycle-kit"],
|
|
85
|
+
["codex", "plugin", "marketplace", "add", UPDATE_SOURCE + ".git", "--ref", "v" + version, "--json"],
|
|
86
|
+
["codex", "plugin", "add", "agent-lifecycle-kit@agent-lifecycle-kit", "--json"],
|
|
87
|
+
["codex", "plugin", "list", "--marketplace", "agent-lifecycle-kit", "--json"],
|
|
88
|
+
]
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
def offer_plugin_update(
|
|
92
|
+
request: dict[str, Any], assessment: dict[str, Any], *, repository_root: Path
|
|
93
|
+
) -> dict[str, Any]:
|
|
94
|
+
"""Recheck declared subjects, then show inert operator advice or defer."""
|
|
95
|
+
validate_update_request(request)
|
|
96
|
+
mode = request.get("mode", "manual")
|
|
97
|
+
if mode == "off":
|
|
98
|
+
return update_report("offer", "OFF", request, {"hostDispatch": False, "networkRequests": 0})
|
|
99
|
+
if mode in ("safe-auto", "notify"):
|
|
100
|
+
return update_report(
|
|
101
|
+
"offer",
|
|
102
|
+
"UNSUPPORTED",
|
|
103
|
+
request,
|
|
104
|
+
{"reason": "No qualified automatic update/notification boundary", "hostDispatch": False},
|
|
105
|
+
)
|
|
106
|
+
host = request.get("host", {})
|
|
107
|
+
if host.get("adapterId") != "codex" or not host.get("version"):
|
|
108
|
+
return update_report(
|
|
109
|
+
"offer",
|
|
110
|
+
"UNSUPPORTED",
|
|
111
|
+
request,
|
|
112
|
+
{
|
|
113
|
+
"reason": "No documented manual native shape mapped for this declared host",
|
|
114
|
+
"hostDispatch": False,
|
|
115
|
+
"installationEligibility": "UNQUALIFIED",
|
|
116
|
+
},
|
|
117
|
+
)
|
|
118
|
+
validate_update_report(assessment)
|
|
119
|
+
require_update(
|
|
120
|
+
assessment["action"] == "assess"
|
|
121
|
+
and assessment["status"] == "ASSESSED"
|
|
122
|
+
and assessment["details"].get("assessmentComplete") is True,
|
|
123
|
+
"offer needs a complete explicit assessment",
|
|
124
|
+
)
|
|
125
|
+
require_update(assessment["requestDigest"] == canonical_digest(request), "assessment policy changed")
|
|
126
|
+
target = _target(request, assessment)
|
|
127
|
+
if target["sourceCommit"] is None:
|
|
128
|
+
return update_report(
|
|
129
|
+
"offer",
|
|
130
|
+
"UNKNOWN",
|
|
131
|
+
request,
|
|
132
|
+
{
|
|
133
|
+
"reason": "TARGET_COMMIT_UNRESOLVED: bind a separately observed exact commit before offering commands",
|
|
134
|
+
"target": target,
|
|
135
|
+
"assessmentTrust": "DECLARED_LOCAL_REPORT_NOT_AUTHORITY",
|
|
136
|
+
"installationEligibility": "UNQUALIFIED",
|
|
137
|
+
"hostDispatch": False,
|
|
138
|
+
},
|
|
139
|
+
{"assessmentDigest": canonical_digest(assessment)},
|
|
140
|
+
)
|
|
141
|
+
subjects, plans = _assessment_subjects(assessment)
|
|
142
|
+
_recheck_subjects(repository_root, subjects)
|
|
143
|
+
deferred = [plan.get("lifecycle", {}).get("action") for plan in plans]
|
|
144
|
+
if any(action not in ("PROPOSE_UNAPPLIED_EDITS_AND_REVIEW", "PRESERVE_IMMUTABLE_HISTORY") for action in deferred):
|
|
145
|
+
return update_report(
|
|
146
|
+
"offer",
|
|
147
|
+
"UNKNOWN",
|
|
148
|
+
request,
|
|
149
|
+
{
|
|
150
|
+
"reason": "DEFER_ACTIVATION: active or unqualified state boundary",
|
|
151
|
+
"target": target,
|
|
152
|
+
"installationEligibility": "UNQUALIFIED",
|
|
153
|
+
"hostDispatch": False,
|
|
154
|
+
},
|
|
155
|
+
{"assessmentDigest": canonical_digest(assessment)},
|
|
156
|
+
)
|
|
157
|
+
return update_report(
|
|
158
|
+
"offer",
|
|
159
|
+
"OFFERED",
|
|
160
|
+
request,
|
|
161
|
+
{
|
|
162
|
+
"target": target,
|
|
163
|
+
"host": host,
|
|
164
|
+
"hostIdentityProvenance": "DECLARED",
|
|
165
|
+
"commands": _manual_codex_commands(target["version"]),
|
|
166
|
+
"commandStatus": "INERT_OPERATOR_RECIPE_NOT_QUALIFIED_EXECUTION",
|
|
167
|
+
"assessmentTrust": "DECLARED_LOCAL_REPORT_NOT_AUTHORITY",
|
|
168
|
+
"installationEligibility": "UNQUALIFIED",
|
|
169
|
+
"hostDispatch": False,
|
|
170
|
+
"globalEffectScope": "UNKNOWN_BEYOND_EXPLICIT_INVENTORY",
|
|
171
|
+
"upstreamTagRecheckRequired": True,
|
|
172
|
+
"separateNativePermissionRequired": True,
|
|
173
|
+
"activation": "RESTART_AND_OBSERVE_SEPARATELY",
|
|
174
|
+
"recovery": "UNKNOWN_NO_BLIND_RETRY_OR_CACHE_RETENTION_PROMISE",
|
|
175
|
+
"planGaps": [plan.get("gaps", []) for plan in plans],
|
|
176
|
+
"assessedFilesRechecked": len(subjects),
|
|
177
|
+
"compatibilityGuarantee": "NONE; manual recipe is not an install recommendation",
|
|
178
|
+
},
|
|
179
|
+
{"assessmentDigest": canonical_digest(assessment)},
|
|
180
|
+
)
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
def refuse_plugin_install(request: dict[str, Any], offer: dict[str, Any]) -> dict[str, Any]:
|
|
184
|
+
"""No current host operation is qualified; never try a generic launcher."""
|
|
185
|
+
validate_update_request(request)
|
|
186
|
+
if request.get("mode") == "off":
|
|
187
|
+
return update_report("install", "OFF", request, {"hostDispatch": False})
|
|
188
|
+
validate_update_report(offer)
|
|
189
|
+
require_update(offer["action"] == "offer", "installation input is not an offer")
|
|
190
|
+
require_update(offer["requestDigest"] == canonical_digest(request), "offer policy changed")
|
|
191
|
+
return update_report(
|
|
192
|
+
"install",
|
|
193
|
+
"UNSUPPORTED",
|
|
194
|
+
request,
|
|
195
|
+
{
|
|
196
|
+
"reason": "NATIVE_INSTALL_UNQUALIFIED",
|
|
197
|
+
"hostDispatch": False,
|
|
198
|
+
"safeAutoSupported": False,
|
|
199
|
+
"scopeQualification": "UNAVAILABLE",
|
|
200
|
+
"activation": "NOT_PERFORMED",
|
|
201
|
+
"retry": "NONE",
|
|
202
|
+
"nextAction": "Use separately authorized host-owned procedure; reconcile any external effect",
|
|
203
|
+
},
|
|
204
|
+
{"offerDigest": canonical_digest(offer)},
|
|
205
|
+
)
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
def reconcile_plugin_update(request: dict[str, Any]) -> dict[str, Any]:
|
|
209
|
+
identities = observe_update_identities(request)
|
|
210
|
+
status = "DRIFT" if identities["labelComparison"] == "DRIFT" else "UNKNOWN"
|
|
211
|
+
return update_report(
|
|
212
|
+
"reconcile",
|
|
213
|
+
status,
|
|
214
|
+
request,
|
|
215
|
+
{
|
|
216
|
+
"identities": identities,
|
|
217
|
+
"hostDispatch": False,
|
|
218
|
+
"activation": "NOT_ATTESTED_BY_CALLER_LABELS",
|
|
219
|
+
"planMutation": False,
|
|
220
|
+
"retry": "NONE",
|
|
221
|
+
"nextAction": "Preserve active authority and qualify loaded instructions/runtime before continuing",
|
|
222
|
+
},
|
|
223
|
+
)
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
COMMAND_DISPATCH = {
|
|
6
|
+
"plugin-update": ("agent_lifecycle.cli.plugin_updates", "dispatch_plugin_updates", False),
|
|
6
7
|
"start": ("agent_lifecycle.cli.start", "dispatch_start", True),
|
|
7
8
|
"host-launch": ("agent_lifecycle.cli.host_launch", "dispatch_host_launch", False),
|
|
8
9
|
"strategy": ("agent_lifecycle.cli.strategy", "dispatch_strategy", False),
|
{agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/dispatch.py
RENAMED
|
@@ -41,6 +41,10 @@ def dispatch_research(args: argparse.Namespace) -> dict[str, Any] | str | None:
|
|
|
41
41
|
return _lazy_call("agent_lifecycle.cli.dispatch_research", "dispatch_research", args)
|
|
42
42
|
|
|
43
43
|
|
|
44
|
+
def dispatch_plugin_updates(args: argparse.Namespace) -> dict[str, Any] | str | None:
|
|
45
|
+
return _lazy_call("agent_lifecycle.cli.plugin_updates", "dispatch_plugin_updates", args)
|
|
46
|
+
|
|
47
|
+
|
|
44
48
|
def dispatch_contracts(args: argparse.Namespace) -> dict[str, Any] | str | None:
|
|
45
49
|
return _lazy_call("agent_lifecycle.cli.dispatch_contracts", "dispatch_contracts", args)
|
|
46
50
|
|
{agent_lifecycle_kit-2.47.0 → agent_lifecycle_kit-2.48.0}/src/agent_lifecycle/cli/parsers.py
RENAMED
|
@@ -26,6 +26,7 @@ def build_parser(argv: list[str] | None = None) -> argparse.ArgumentParser:
|
|
|
26
26
|
from agent_lifecycle.cli.metrics_parser import add_metrics_parser
|
|
27
27
|
from agent_lifecycle.cli.observability_parsers import _add_report_parser
|
|
28
28
|
from agent_lifecycle.cli.planning_parsers import _add_plan_parser, _add_task_parser
|
|
29
|
+
from agent_lifecycle.cli.plugin_updates import add_plugin_update_parser
|
|
29
30
|
from agent_lifecycle.cli.policy import add_policy_parser
|
|
30
31
|
from agent_lifecycle.cli.research import add_research_parser
|
|
31
32
|
from agent_lifecycle.cli.worktree import add_worktree_parser
|
|
@@ -50,6 +51,7 @@ def build_parser(argv: list[str] | None = None) -> argparse.ArgumentParser:
|
|
|
50
51
|
_add_strategy_parser(subparsers)
|
|
51
52
|
_add_report_parser(subparsers)
|
|
52
53
|
add_policy_parser(subparsers)
|
|
54
|
+
add_plugin_update_parser(subparsers)
|
|
53
55
|
_add_workflow_parser(subparsers)
|
|
54
56
|
_add_audit_parser(subparsers)
|
|
55
57
|
_add_context_parser(subparsers)
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"""Bounded advisory plugin-update CLI; no native installation authority."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import argparse
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
from typing import Any
|
|
8
|
+
|
|
9
|
+
from agent_lifecycle.contracts import LifecycleError, canonical_bytes
|
|
10
|
+
from agent_lifecycle.contracts.authority_io import create_authority_bytes
|
|
11
|
+
from agent_lifecycle.contracts.paths import normalize_repo_path
|
|
12
|
+
from agent_lifecycle.contracts.plugin_update_validation import (
|
|
13
|
+
MAX_UPDATE_BYTES,
|
|
14
|
+
UPDATE_FORBIDDEN_ROOTS,
|
|
15
|
+
read_update_json,
|
|
16
|
+
require_update,
|
|
17
|
+
validate_plan_inventory,
|
|
18
|
+
validate_update_report,
|
|
19
|
+
validate_update_request,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def add_plugin_update_parser(subparsers: argparse._SubParsersAction[argparse.ArgumentParser]) -> None:
|
|
24
|
+
group = subparsers.add_parser("plugin-update", help="bounded plugin discovery and read-only plan advice")
|
|
25
|
+
actions = group.add_subparsers(dest="plugin_update_command", required=True)
|
|
26
|
+
for action in ("check", "assess", "offer", "install", "reconcile"):
|
|
27
|
+
parser = actions.add_parser(action)
|
|
28
|
+
parser.add_argument("--request", required=True)
|
|
29
|
+
parser.add_argument("--out")
|
|
30
|
+
if action == "check":
|
|
31
|
+
parser.add_argument("--cache")
|
|
32
|
+
elif action == "assess":
|
|
33
|
+
parser.add_argument("--release", required=True)
|
|
34
|
+
parser.add_argument("--inventory", required=True)
|
|
35
|
+
parser.add_argument("--repository-root", default=".")
|
|
36
|
+
elif action == "offer":
|
|
37
|
+
parser.add_argument("--assessment", required=True)
|
|
38
|
+
elif action == "install":
|
|
39
|
+
parser.add_argument("--offer", required=True)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def _protected_path(name: str, inputs: set[str]) -> str:
|
|
43
|
+
name = normalize_repo_path(name)
|
|
44
|
+
require_update(name not in inputs, "output/cache aliases an input")
|
|
45
|
+
require_update(name.split("/")[0].casefold() not in UPDATE_FORBIDDEN_ROOTS, "unsafe output scope")
|
|
46
|
+
require_update(
|
|
47
|
+
not name.casefold().endswith((".state.json", ".lock.json", "plan.manifest.json")),
|
|
48
|
+
"output cannot use authority filename",
|
|
49
|
+
)
|
|
50
|
+
return name
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def _output_preflight(root: Path, output: str | None, inputs: set[str]) -> str | None:
|
|
54
|
+
if output is None:
|
|
55
|
+
return None
|
|
56
|
+
name = _protected_path(output, inputs)
|
|
57
|
+
path = root / name
|
|
58
|
+
require_update(not path.exists() and not path.is_symlink(), "output already exists")
|
|
59
|
+
parent = path.parent
|
|
60
|
+
while parent != root:
|
|
61
|
+
require_update(not parent.is_symlink(), "output parent is a symlink")
|
|
62
|
+
parent = parent.parent
|
|
63
|
+
return name
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def _subject_inputs(action: str, data: dict[str, Any]) -> set[str]:
|
|
67
|
+
subjects: set[str] = set()
|
|
68
|
+
if action == "assess":
|
|
69
|
+
for item in data.get("plans", []):
|
|
70
|
+
if isinstance(item, dict):
|
|
71
|
+
subjects.update(normalize_repo_path(path) for path in item.values() if isinstance(path, str))
|
|
72
|
+
elif action == "offer":
|
|
73
|
+
plans = data["details"].get("plans", [])
|
|
74
|
+
require_update(isinstance(plans, list) and len(plans) <= 32, "invalid assessment plan count")
|
|
75
|
+
for item in plans:
|
|
76
|
+
if isinstance(item, dict) and isinstance(item.get("inputSHA256"), dict):
|
|
77
|
+
subjects.update(normalize_repo_path(path) for path in item["inputSHA256"])
|
|
78
|
+
return subjects
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def _write_update_report(root: Path, output: str | None, payload: dict[str, Any]) -> None:
|
|
82
|
+
validate_update_report(payload)
|
|
83
|
+
body = canonical_bytes(payload) + b"\n"
|
|
84
|
+
require_update(len(body) <= MAX_UPDATE_BYTES, "update output exceeds256KiB")
|
|
85
|
+
if output is not None:
|
|
86
|
+
require_update(
|
|
87
|
+
payload["action"] != "assess" or payload["details"].get("assessmentComplete") is True,
|
|
88
|
+
"incomplete assessment cannot write --out; omit --out for its diagnostic report",
|
|
89
|
+
code="plugin-update-incomplete-assessment-output",
|
|
90
|
+
)
|
|
91
|
+
create_authority_bytes(root / output, body, root=root, private=True)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def dispatch_plugin_updates(args: argparse.Namespace) -> dict[str, Any]:
|
|
95
|
+
from agent_lifecycle.adapter_sessions.plugin_updates import (
|
|
96
|
+
offer_plugin_update,
|
|
97
|
+
reconcile_plugin_update,
|
|
98
|
+
refuse_plugin_install,
|
|
99
|
+
)
|
|
100
|
+
from agent_lifecycle.diagnostics.plugin_updates import check_plugin_updates, store_update_cache
|
|
101
|
+
from agent_lifecycle.planning.update_impact import assess_plugin_update
|
|
102
|
+
|
|
103
|
+
action = args.plugin_update_command
|
|
104
|
+
root = Path(getattr(args, "repository_root", ".")).absolute()
|
|
105
|
+
fields = [key for key in ("request", "release", "inventory", "assessment", "offer") if hasattr(args, key)]
|
|
106
|
+
names = {key: normalize_repo_path(getattr(args, key)) for key in fields}
|
|
107
|
+
inputs = set(names.values())
|
|
108
|
+
cache_name = getattr(args, "cache", None)
|
|
109
|
+
if cache_name:
|
|
110
|
+
cache_name = _protected_path(cache_name, inputs)
|
|
111
|
+
inputs.add(cache_name)
|
|
112
|
+
output = _output_preflight(root, args.out, inputs)
|
|
113
|
+
data = {key: read_update_json(root, name) for key, name in names.items()}
|
|
114
|
+
request = validate_update_request(data["request"])
|
|
115
|
+
if action == "assess":
|
|
116
|
+
validate_plan_inventory(data["inventory"])
|
|
117
|
+
elif action in ("offer", "install"):
|
|
118
|
+
validate_update_report(data["assessment"] if action == "offer" else data["offer"])
|
|
119
|
+
inputs.update(_subject_inputs(action, data.get("inventory", data.get("assessment", {}))))
|
|
120
|
+
output = _output_preflight(root, output, inputs)
|
|
121
|
+
if action == "check":
|
|
122
|
+
reads_cache = request.get("mode", "manual") not in ("off", "notify", "safe-auto")
|
|
123
|
+
cache = (
|
|
124
|
+
read_update_json(root, cache_name) if reads_cache and cache_name and (root / cache_name).exists() else None
|
|
125
|
+
)
|
|
126
|
+
payload = check_plugin_updates(request, cache=cache)
|
|
127
|
+
if cache_name and payload["details"].get("cacheUpdated") is True:
|
|
128
|
+
store_update_cache(root, cache_name, payload["details"]["cache"], inputs=tuple(names.values()))
|
|
129
|
+
elif action == "assess":
|
|
130
|
+
payload = assess_plugin_update(request, data["release"], data["inventory"], repository_root=root)
|
|
131
|
+
elif action == "offer":
|
|
132
|
+
payload = offer_plugin_update(request, data["assessment"], repository_root=root)
|
|
133
|
+
elif action == "install":
|
|
134
|
+
payload = refuse_plugin_install(request, data["offer"])
|
|
135
|
+
elif action == "reconcile":
|
|
136
|
+
payload = reconcile_plugin_update(request)
|
|
137
|
+
else:
|
|
138
|
+
raise LifecycleError("command-not-implemented", "plugin-update action is not implemented")
|
|
139
|
+
_write_update_report(root, output, payload)
|
|
140
|
+
return payload
|