mostlyright-data 0.20.1__tar.gz → 0.20.2__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.
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/PKG-INFO +1 -1
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/pyproject.toml +1 -1
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/commands/auth.py +38 -4
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/.gitignore +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/README.md +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/scripts/hatch_build.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/skills/mr-data-build/SKILL.md +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/skills/mr-data-build/agents/openai.yaml +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/skills/mr-data-build/scripts/write_research_notebook.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/__init__.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/canonical.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/formats.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/hosted_crawler_protocol.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/key_seam.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/page_coverage.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/part_check_evidence.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/session_probes.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/skill_assets.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/table_manifest.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/__init__.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/acquire.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/acquire_cancel.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/activity.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/approvals.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/categories.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/commands.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/dataset-categories-v1.json +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/download.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/narrative.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/parity.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/probe.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/progress_vocabulary.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/propose.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/recipe.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/research.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/router.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/runs.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/session.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/stream.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/stream_venue.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/transport.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/user_agent.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_artifacts.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_catalog.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_connections.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_dataset_covers.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_datasets.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_handoff.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_narrative.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_query.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_runs.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_secrets.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_stream.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_tables.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/vocabulary.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/__init__.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/attendance.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/clarification.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/cloud_auth.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/commands/__init__.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/commands/clarify.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/commands/login.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/commands/whoami.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/credential_native.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/credential_store.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/credentials.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/login.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/path_kind.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/plain_file.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/remediation.py +0 -0
- {mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/render.py +0 -0
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/commands/auth.py
RENAMED
|
@@ -509,6 +509,19 @@ def recover_payload(
|
|
|
509
509
|
with credential_lock(store.config_dir):
|
|
510
510
|
envelope = store.load_under_held_lock()
|
|
511
511
|
if envelope is None:
|
|
512
|
+
if local_only:
|
|
513
|
+
# Resume a crash after deleting an empty pending store but before
|
|
514
|
+
# removing its selector. Never claim remote cleanup from local absence.
|
|
515
|
+
remove_credential_manifest_under_held_lock(path)
|
|
516
|
+
return _with_environment_authority(
|
|
517
|
+
{
|
|
518
|
+
"schema_version": _RECOVERY_SCHEMA,
|
|
519
|
+
"status": "local_recovery_completed",
|
|
520
|
+
"remote_revocation": "unproved",
|
|
521
|
+
"local_state": "removed",
|
|
522
|
+
"mint_outcome": "unproved",
|
|
523
|
+
}
|
|
524
|
+
)
|
|
512
525
|
return _mutation_error(
|
|
513
526
|
_RECOVERY_SCHEMA,
|
|
514
527
|
status="refused",
|
|
@@ -534,16 +547,37 @@ def recover_payload(
|
|
|
534
547
|
)
|
|
535
548
|
if envelope.state == "login_pending":
|
|
536
549
|
if not local_only:
|
|
537
|
-
return
|
|
538
|
-
|
|
550
|
+
return {
|
|
551
|
+
**_mutation_error(
|
|
552
|
+
_RECOVERY_SCHEMA, status="refused", local_state="pending"
|
|
553
|
+
),
|
|
554
|
+
"next_action": "Finish or stop the previous sign-in. If it has stopped, "
|
|
555
|
+
"run mr-data auth recover --local-only, then retry logout or login. "
|
|
556
|
+
"Local recovery does not prove remote revocation.",
|
|
557
|
+
}
|
|
558
|
+
# The outer lock already owns this generation. Calling the standalone
|
|
559
|
+
# recovery helper here would try to acquire the same non-reentrant lock.
|
|
560
|
+
if envelope.active is None:
|
|
561
|
+
# Keep the selector retryable if the native delete refuses access.
|
|
562
|
+
store.delete_under_held_lock(
|
|
563
|
+
expected_generation=envelope.generation,
|
|
564
|
+
expected_states=frozenset({"login_pending"}),
|
|
565
|
+
)
|
|
566
|
+
remove_credential_manifest_under_held_lock(path)
|
|
567
|
+
else:
|
|
568
|
+
store.replace_under_held_lock(
|
|
569
|
+
CredentialEnvelope.active_envelope(
|
|
570
|
+
generation=envelope.generation + 1, active=envelope.active
|
|
571
|
+
),
|
|
572
|
+
expected_generation=envelope.generation,
|
|
573
|
+
expected_states=frozenset({"login_pending"}),
|
|
539
574
|
)
|
|
540
|
-
store.recover_login_lease_local_only()
|
|
541
575
|
return _with_environment_authority(
|
|
542
576
|
{
|
|
543
577
|
"schema_version": _RECOVERY_SCHEMA,
|
|
544
578
|
"status": "local_recovery_completed",
|
|
545
579
|
"remote_revocation": "unproved",
|
|
546
|
-
"local_state": "
|
|
580
|
+
"local_state": "active" if envelope.active is not None else "removed",
|
|
547
581
|
"mint_outcome": "unproved",
|
|
548
582
|
}
|
|
549
583
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/__init__.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/canonical.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/key_seam.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/page_coverage.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/session_probes.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/skill_assets.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/table_manifest.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/__init__.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/acquire.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/activity.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/approvals.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/categories.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/commands.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/download.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/narrative.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/parity.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/probe.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/propose.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/recipe.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/research.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/router.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/runs.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/session.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/stream.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/transport.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/user_agent.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_catalog.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_datasets.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_handoff.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_query.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_runs.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_secrets.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_stream.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/v4_tables.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/thin/vocabulary.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/__init__.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/attendance.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/clarification.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/cloud_auth.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/credentials.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/login.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/path_kind.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/plain_file.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/remediation.py
RENAMED
|
File without changes
|
{mostlyright_data-0.20.1 → mostlyright_data-0.20.2}/src/mostlyright/data_harness/ux/render.py
RENAMED
|
File without changes
|