.gitignore
.pre-commit-config.yaml
.python-version
AGENTS.md
GLOSSARY.md
LICENSE
MANIFEST.in
README.md
THIRD_PARTY_NOTICES.md
pyproject.toml
uv.lock
demo/adapter.js
demo/app.js
demo/basic-demo.js
demo/count-demo.js
demo/feature-state.js
demo/features.js
demo/index.html
demo/pattern-demo.js
demo/server.py
demo/style.css
demo/verify-demo.js
docs/assignment.md
docs/contract-support.md
docs/design-policy.md
docs/development-policy.md
docs/diagnosis.md
docs/distribution.md
docs/input-adapter.md
docs/io-contract-continuity.md
docs/io-contract-coworkers.md
docs/io-contract-current.md
docs/io-contract-day-counts.md
docs/io-contract-duty-continuity.md
docs/io-contract-minimum-demand.md
docs/io-contract-next.md
docs/io-contract-overlap.md
docs/io-contract-partial.md
docs/io-contract-priority.md
docs/io-contract-replanning.md
docs/io-contract-roster-metrics.md
docs/io-contract-shift-counts.md
docs/io-contract-shift-patterns.md
docs/io-contract.md
docs/overview.md
docs/planning-extensions.md
docs/playground-wireframe.html
docs/playground.md
docs/publishing.md
docs/python-api.md
docs/python-setup.md
docs/replanning.md
docs/roster-next.md
docs/roster.md
docs/sources.md
docs/adr/0001-json-first-engine.md
docs/adr/0002-joint-roster-optimization.md
docs/adr/0003-extended-roster-contract.md
docs/adr/0004-partial-plan-contract.md
docs/adr/0005-partial-baseline-and-independent-verification.md
docs/adr/0006-continuity-original-intervals.md
docs/adr/0007-overlap-baseline-comparison.md
docs/adr/0008-duty-balance-context.md
docs/adr/0009-mandatory-demand-minimum.md
docs/adr/0010-single-current-contract.md
docs/agents/domain.md
docs/agents/issue-tracker.md
docs/agents/triage-labels.md
docs/designs/check_examples.py
docs/designs/conflict-refinement.md
docs/designs/continuity.md
docs/designs/demo-redesign.md
docs/designs/duty-balance.md
docs/designs/scheduled-cost.md
docs/evaluations/added-conditions.md
docs/evaluations/assignment.md
docs/evaluations/basic-demo.md
docs/evaluations/condition-demo.md
docs/evaluations/conflict-refinement.md
docs/evaluations/continuity-duty-balance.md
docs/evaluations/continuity.md
docs/evaluations/coworkers.md
docs/evaluations/day-counts.md
docs/evaluations/day-demo.md
docs/evaluations/demo-lessons.md
docs/evaluations/engine-introduction.md
docs/evaluations/feature-demo.md
docs/evaluations/input-adapter.md
docs/evaluations/linked-assignment.md
docs/evaluations/minimum-demand.md
docs/evaluations/objectives.md
docs/evaluations/overlap-replanning.md
docs/evaluations/partial-plans.md
docs/evaluations/pattern-demo.md
docs/evaluations/performance.md
docs/evaluations/playground.md
docs/evaluations/roster-conditions.md
docs/evaluations/roster-metrics.md
docs/evaluations/roster.md
docs/evaluations/runtime.md
docs/evaluations/search-budget.md
docs/evaluations/shift-patterns.md
docs/evaluations/contract-015-final/acceptance.json
docs/evaluations/contract-015-final/browser-dev.json
docs/evaluations/contract-015-final/browser.json
docs/evaluations/contract-015-final/customer-operations.json
docs/evaluations/contract-015-local-ci/app-customer-operations.json
docs/evaluations/inputs/assignment-week.json
docs/evaluations/inputs/combined-100-30-conflict.json
docs/evaluations/inputs/combined-100-30-normal.json
docs/evaluations/inputs/combined-100-30-partial.json
docs/evaluations/inputs/combined-100-30-timeout.json
docs/evaluations/inputs/combined-legacy-010.json
docs/evaluations/inputs/combined-overnight.json
docs/evaluations/inputs/combined-split_roster.json
docs/evaluations/inputs/continuity-duty-conflict.json
docs/evaluations/inputs/continuity-duty-invalid.json
docs/evaluations/inputs/continuity-duty-partial.json
docs/evaluations/inputs/continuity-duty-timeout.json
docs/evaluations/inputs/replan-equal-rebuild.json
docs/evaluations/inputs/replan-equal.json
docs/evaluations/inputs/replan-fixed-impossible-rebuild.json
docs/evaluations/inputs/replan-fixed-impossible.json
docs/evaluations/inputs/roster-conditions-12000.json
docs/evaluations/inputs/roster-conditions-3000.json
docs/evaluations/inputs/roster-conditions-6000.json
docs/evaluations/inputs/roster-extended.json
docs/evaluations/inputs/roster-fortnight-large.json
docs/evaluations/inputs/roster-input-limit.json
docs/evaluations/inputs/roster-week-15min.json
docs/evaluations/inputs/roster-week-infeasible.json
docs/evaluations/inputs/roster-week-timeout.json
docs/evaluations/inputs/roster-week.json
docs/migrations/contract-0.15-adapter.md
docs/migrations/contract-0.15-app.md
docs/migrations/contract-0.15-cases.json
docs/migrations/contract-0.15-data.md
docs/migrations/contract-0.15-entrypoints.md
docs/migrations/contract-0.15-final.md
docs/migrations/contract-0.15-integration.md
docs/migrations/contract-0.15-inventory.json
docs/migrations/contract-0.15-regression.md
docs/migrations/contract-0.15.md
examples/assignment.json
examples/combined_conditions.json
examples/combined_month.json
examples/conflict_refinement.json
examples/continuity_duty_balance.json
examples/continuity_month.json
examples/continuity_replan.json
examples/continuity_week.json
examples/controlled_solve.py
examples/coworkers.json
examples/day_counts.json
examples/demand_priority.json
examples/diagnosis.json
examples/duty_balance.json
examples/fairness.json
examples/infeasible.json
examples/invalid-input.json
examples/linked_assignment.json
examples/minimum_assignment.json
examples/minimum_conflict.json
examples/minimum_roster.json
examples/overnight.json
examples/partial_assignment.json
examples/partial_replan_preserve_assigned.json
examples/partial_replan_rebuild.json
examples/partial_roster.json
examples/replan.json
examples/roster.json
examples/roster_conditions.json
examples/roster_conditions.solution.json
examples/scheduled_cost.json
examples/shift_count_balance.json
examples/shift_patterns.json
examples/split_roster.json
examples/typed_adapter.py
examples/typed_api.py
examples/adapter/assignment.draft.json
examples/adapter/assignment.manifest.json
examples/adapter/basic.json
examples/adapter/common.json
examples/adapter/continuity_week.draft.json
examples/adapter/execution.json
examples/adapter/partial_replan_preserve_assigned.draft.json
examples/adapter/partial_roster.draft.json
examples/adapter/period.json
examples/adapter/roster.draft.json
examples/adapter/unconfirmed.draft.json
examples/adapter/week-next-stale.draft.json
examples/adapter/week-next.draft.json
examples/adapter/week-next.request.json
examples/playground/assigned-limit.json
examples/playground/availability.json
examples/playground/breaks.json
examples/playground/catalog.json
examples/playground/consecutive-days-off.json
examples/playground/consecutive-days.json
examples/playground/coverage-24h.json
examples/playground/coverage-48h.json
examples/playground/days-off.json
examples/playground/demand-adjustment.json
examples/playground/forbidden-successions.json
examples/playground/lessons.json
examples/playground/lunch.json
examples/playground/manual-verify.json
examples/playground/manual-verify.solution.json
examples/playground/night-count.json
examples/playground/overnight.json
examples/playground/rest-after-shift.json
examples/playground/rest.json
examples/playground/roster-100-30.json
examples/playground/scenarios.json
examples/playground/scheduled-bounds.json
examples/playground/scheduled-limit.json
examples/playground/shift-candidates.json
examples/playground/skills.json
examples/playground/split-shift.json
examples/playground/work-days.json
examples/playground/worked-date-groups.json
scripts/check_release.py
scripts/deploy
scripts/evaluate.py
src/shift_schedula/__init__.py
src/shift_schedula/__init__.pyi
src/shift_schedula/__main__.py
src/shift_schedula/adapter.py
src/shift_schedula/adapter_cli.py
src/shift_schedula/continuity.py
src/shift_schedula/contract.py
src/shift_schedula/coworkers.py
src/shift_schedula/cp_sat.py
src/shift_schedula/day_counts.py
src/shift_schedula/diagnosis.py
src/shift_schedula/engine.py
src/shift_schedula/extensions.py
src/shift_schedula/flow.py
src/shift_schedula/model.py
src/shift_schedula/py.typed
src/shift_schedula/records.py
src/shift_schedula/roster.py
src/shift_schedula/roster_metrics.py
src/shift_schedula/shift_counts.py
src/shift_schedula/shift_patterns.py
src/shift_schedula/types.py
src/shift_schedula/verify.py
src/shift_schedula.egg-info/PKG-INFO
src/shift_schedula.egg-info/SOURCES.txt
src/shift_schedula.egg-info/dependency_links.txt
src/shift_schedula.egg-info/requires.txt
src/shift_schedula.egg-info/top_level.txt
src/shift_schedula/schemas/0.15/request.schema.json
src/shift_schedula/schemas/0.15/response.schema.json
src/shift_schedula/schemas/adapter/draft.schema.json
src/shift_schedula/schemas/adapter/manifest.schema.json
src/shift_schedula/schemas/adapter/record.schema.json
tests/__init__.py
tests/basic-browser.cjs
tests/condition-browser.cjs
tests/conftest.py
tests/day-browser.cjs
tests/feature-browser.cjs
tests/feature-state.cjs
tests/pattern-browser.cjs
tests/playground-browser.cjs
tests/roster_support.py
tests/support.py
tests/test_adapter.py
tests/test_added_conditions.py
tests/test_assignment.py
tests/test_basic_demo_lessons.py
tests/test_cli.py
tests/test_combined.py
tests/test_condition_demo_lessons.py
tests/test_conflict_refinement.py
tests/test_continuity.py
tests/test_continuity_duty_balance.py
tests/test_contract_015_regression.py
tests/test_contract_04.py
tests/test_coworkers.py
tests/test_cp_sat.py
tests/test_day_counts.py
tests/test_day_demo_lessons.py
tests/test_demand_priority.py
tests/test_demo_lessons.py
tests/test_deploy.py
tests/test_diagnosis.py
tests/test_evaluation.py
tests/test_execution.py
tests/test_extended_roster.py
tests/test_extensions.py
tests/test_input_contract.py
tests/test_logging.py
tests/test_minimum_demand.py
tests/test_objectives.py
tests/test_overlap_replanning.py
tests/test_partial_contract.py
tests/test_partial_plans.py
tests/test_pattern_demo_lessons.py
tests/test_playground_scenarios.py
tests/test_playground_server.py
tests/test_public_api.py
tests/test_release.py
tests/test_response_initialization.py
tests/test_roster.py
tests/test_roster_contract.py
tests/test_roster_metrics.py
tests/test_roster_verification.py
tests/test_schema_encoding.py
tests/test_sdist.py
tests/test_shift_counts.py
tests/test_shift_patterns.py
tests/test_single_contract.py
tests/test_timezone.py
tests/test_verification.py
tests/verify-browser.cjs
tests/fixtures/contract-015/assignment.json
tests/fixtures/contract-015/conflict_refinement.json
tests/fixtures/contract-015/continuity_duty_balance.json
tests/fixtures/contract-015/continuity_replan.json
tests/fixtures/contract-015/continuity_week.json
tests/fixtures/contract-015/coworkers.json
tests/fixtures/contract-015/day_counts.json
tests/fixtures/contract-015/demand_priority.json
tests/fixtures/contract-015/minimum_roster.json
tests/fixtures/contract-015/overnight.json
tests/fixtures/contract-015/partial_replan_preserve_assigned.json
tests/fixtures/contract-015/partial_roster.json
tests/fixtures/contract-015/replan.json
tests/fixtures/contract-015/roster.json
tests/fixtures/contract-015/scheduled_cost.json
tests/fixtures/contract-015/shift_patterns.json