buildai-cli 0.3.170__tar.gz → 0.3.172__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.
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/.gitignore +8 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/Dockerfile.hand-labels-export +7 -4
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/Dockerfile.hand-labels-export.dockerignore +2 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/PKG-INFO +1 -1
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/auth_local.py +2 -18
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/hand_labels_export/schema.py +2 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/pyproject.toml +1 -1
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/AGENTS.md +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/Dockerfile.rescaling-migration-jobs +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/Dockerfile.rescaling-migration-jobs.dockerignore +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/buildai_bootstrap.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/__init__.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/_has_core.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/__init__.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/api_proxy.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/auth.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/db/__init__.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/db/broker.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/db/common.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/db/migrate.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/db/query.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/db/rescaling.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/db/schema.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/db/status.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/db/tunnel.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/dev.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/doctor.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/ego_frame_search.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/gigcamera.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/hand_labels_export.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/ingest.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/ingest_docs.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/intake.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/label_accounts.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/label_replay_recovery.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/labeling.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/processing.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/rescaling.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/spec.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/commands/spec_pr.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/config.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/console.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/context.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/db_broker.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/guard.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/internal_api.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/labeling_onboarding.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/main.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/nl_query/__init__.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/nl_query/dataset_tools.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/ops_init.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/output.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/pagination.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/__init__.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/canonical.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/export.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/feed_proofs.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/fence.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/importer.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/jobs.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/management.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/orchestrator.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/probes.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/reconcile.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/run_record.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/runtime.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/sql/legacy_export_closeout.sql +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/sql/legacy_export_prepare.sql +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/sql/legacy_fence.sql +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/sql/legacy_unfreeze.sql +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/sql/v2_export_closeout.sql +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/sql/v2_export_prepare.sql +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/sql/v2_fence.sql +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/sql/v2_unfreeze.sql +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/storage.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/transform.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rls_guard.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/hand_labels_export/__init__.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/hand_labels_export/__main__.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/hand_labels_export/encode.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/hand_labels_export/export.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/hand_labels_export/reader.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/hand_labels_export/store.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/hand_labels_export/validate.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/rescaling_logical_backup/__init__.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/rescaling_logical_backup/__main__.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/rescaling_migration_job/__init__.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/rescaling_migration_job/__main__.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/rescaling_recovery_extractor/__init__.py +0 -0
- {buildai_cli-0.3.170 → buildai_cli-0.3.172}/rescaling_recovery_extractor/__main__.py +0 -0
|
@@ -123,6 +123,8 @@ reference/
|
|
|
123
123
|
# scratch dir. The bare pattern above silently swallowed every page in it
|
|
124
124
|
# (found 2026-08-16: meta.json navigates to pages that exist nowhere in git).
|
|
125
125
|
!docs/content/reference/
|
|
126
|
+
# ...and the reference engine of the inference runtime (pose3d.infer) is source.
|
|
127
|
+
!packages/pose3d/src/pose3d/infer/reference/
|
|
126
128
|
recording-cache/
|
|
127
129
|
/datasets/1m-hour-dataset/*
|
|
128
130
|
!/datasets/1m-hour-dataset/README.md
|
|
@@ -325,6 +327,9 @@ infra/**/apply*.txt
|
|
|
325
327
|
# Deliberately NOT LFS: Vercel does not resolve LFS pointers at build time, so
|
|
326
328
|
# an LFS-tracked APK would deploy as a text stub instead of an installable app.
|
|
327
329
|
!apps/rescaling/rescaling-landing/app/*.apk
|
|
330
|
+
# and the card check-in Android app, which app.rescaling.ai offers on its
|
|
331
|
+
# Metadata page and the operator's home (not LFS, for the same reason).
|
|
332
|
+
!apps/rescaling/rescaling-app/public/downloads/*.apk
|
|
328
333
|
.tmp-*.yml
|
|
329
334
|
|
|
330
335
|
# TLS certs
|
|
@@ -335,3 +340,6 @@ test-buildai-data/
|
|
|
335
340
|
|
|
336
341
|
# Generated multi-service app factory (local dev only)
|
|
337
342
|
_combined_factory.py
|
|
343
|
+
|
|
344
|
+
# W&B client run folders (local probes and tools)
|
|
345
|
+
wandb/
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Hand-labels export job image (Cloud Run Job hand-labels-export, us-central1).
|
|
2
|
-
#
|
|
3
|
-
#
|
|
2
|
+
# Production runs `python -m egoexo.human.daily` (the daily human truth; the
|
|
3
|
+
# job's command in infra/production/cloud-run-jobs). The entrypoint stays
|
|
4
|
+
# `python -m hand_labels_export` for the staging job; see
|
|
5
|
+
# hand_labels_export/__main__.py. Built by the release workflow only (target
|
|
4
6
|
# hand-labels-export-prod). The release uploads a filtered build context
|
|
5
7
|
# (hand_labels_export_included_files in .github/release-targets.hcl), so core/
|
|
6
8
|
# holds only the job's generated import closure.
|
|
@@ -33,12 +35,13 @@ RUN uv sync --locked --no-dev --package buildai-cli --extra ops --no-install-wor
|
|
|
33
35
|
|
|
34
36
|
COPY core/ core/
|
|
35
37
|
COPY apps/buildai/buildai-cli/ apps/buildai/buildai-cli/
|
|
38
|
+
COPY packages/egoexo/src/ packages/egoexo/src/
|
|
36
39
|
|
|
37
40
|
ENV PATH="/app/.venv/bin:${PATH}" \
|
|
38
|
-
PYTHONPATH="/app/core:/app/apps/buildai/buildai-cli"
|
|
41
|
+
PYTHONPATH="/app/core:/app/apps/buildai/buildai-cli:/app/packages/egoexo/src"
|
|
39
42
|
|
|
40
43
|
# Fail the build, not the first 02:00 run, when an import is missing.
|
|
41
|
-
RUN python -c "import pyarrow, google.cloud.storage; import hand_labels_export.__main__"
|
|
44
|
+
RUN python -c "import pyarrow, google.cloud.storage; import hand_labels_export.__main__; import egoexo.human.daily, egoexo.human.labelsdb, egoexo.stages.pose, egoexo.stages.head"
|
|
42
45
|
|
|
43
46
|
# Recorded in every snapshot manifest. Last, so a new commit keeps the layer cache.
|
|
44
47
|
ARG BUILDAI_COMMIT_SHA=""
|
|
@@ -212,25 +212,17 @@ def sanctioned_auth_profiles() -> tuple[LocalAuthProfile, ...]:
|
|
|
212
212
|
),
|
|
213
213
|
LocalAuthProfile(
|
|
214
214
|
name="migrations-local",
|
|
215
|
-
audience="
|
|
215
|
+
audience="admins",
|
|
216
216
|
summary="Run migration flows through the canonical migrations identity.",
|
|
217
217
|
purpose="Use this for reviewed DDL and scheduler ownership work.",
|
|
218
218
|
),
|
|
219
219
|
LocalAuthProfile(
|
|
220
220
|
name="db-admin-local",
|
|
221
|
-
audience="
|
|
221
|
+
audience="admins",
|
|
222
222
|
summary="Use the canonical AlloyDB admin identity for platform DB work.",
|
|
223
223
|
purpose="Use this only for platform-level DB support and ownership repair.",
|
|
224
224
|
break_glass=True,
|
|
225
225
|
),
|
|
226
|
-
LocalAuthProfile(
|
|
227
|
-
name="quarantine-policy-admin",
|
|
228
|
-
audience="founders",
|
|
229
|
-
summary="Operate the quarantine deny-policy control plane explicitly.",
|
|
230
|
-
purpose="Use this only for storage deny-policy and quarantine-control work.",
|
|
231
|
-
break_glass=True,
|
|
232
|
-
db_access=False,
|
|
233
|
-
),
|
|
234
226
|
)
|
|
235
227
|
|
|
236
228
|
|
|
@@ -324,10 +316,6 @@ def _fixed_targets_for_environment(
|
|
|
324
316
|
"buildai-db-admin-staging-sa@data-470400.iam.gserviceaccount.com",
|
|
325
317
|
"buildai-db-admin-staging-sa@data-470400.iam",
|
|
326
318
|
),
|
|
327
|
-
"quarantine-policy-admin": (
|
|
328
|
-
"quarantine-policy-admin@data-470400.iam.gserviceaccount.com",
|
|
329
|
-
None,
|
|
330
|
-
),
|
|
331
319
|
}
|
|
332
320
|
|
|
333
321
|
return {
|
|
@@ -343,10 +331,6 @@ def _fixed_targets_for_environment(
|
|
|
343
331
|
"buildai-db-admin-sa@data-470400.iam.gserviceaccount.com",
|
|
344
332
|
"buildai-db-admin-sa@data-470400.iam",
|
|
345
333
|
),
|
|
346
|
-
"quarantine-policy-admin": (
|
|
347
|
-
"quarantine-policy-admin@data-470400.iam.gserviceaccount.com",
|
|
348
|
-
None,
|
|
349
|
-
),
|
|
350
334
|
}
|
|
351
335
|
|
|
352
336
|
|
|
@@ -156,6 +156,8 @@ INDEX_SCHEMA = pa.schema(
|
|
|
156
156
|
("qa_reviewed_at", _UTC),
|
|
157
157
|
# completion: a claim's completed revision. fix_round: a re-checked
|
|
158
158
|
# fix round's revision (``fix_attempt``); fixed cameras count from it.
|
|
159
|
+
# qa_fix: the revision QA saved when it fixed that round's cameras in
|
|
160
|
+
# the re-check; those cameras count from it.
|
|
159
161
|
("unit", pa.string()),
|
|
160
162
|
("fix_attempt", pa.int64()),
|
|
161
163
|
# {camera_id: {side: visible | not_visible}}: the labeler's answers in
|
|
File without changes
|
|
File without changes
|
{buildai_cli-0.3.170 → buildai_cli-0.3.172}/Dockerfile.rescaling-migration-jobs.dockerignore
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/sql/legacy_export_closeout.sql
RENAMED
|
File without changes
|
{buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/sql/legacy_export_prepare.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/sql/v2_export_closeout.sql
RENAMED
|
File without changes
|
{buildai_cli-0.3.170 → buildai_cli-0.3.172}/cli/rescaling_migration/sql/v2_export_prepare.sql
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|