alissa-tools-github-devloop 0.8.57__py3-none-any.whl → 0.8.58__py3-none-any.whl
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.
- alissa/tools/github/devloop/loop.py +54 -0
- alissa/tools/github/devloop/version +1 -1
- {alissa_tools_github_devloop-0.8.57.dist-info → alissa_tools_github_devloop-0.8.58.dist-info}/METADATA +1 -1
- {alissa_tools_github_devloop-0.8.57.dist-info → alissa_tools_github_devloop-0.8.58.dist-info}/RECORD +9 -9
- {alissa_tools_github_devloop-0.8.57.dist-info → alissa_tools_github_devloop-0.8.58.dist-info}/WHEEL +1 -1
- {alissa_tools_github_devloop-0.8.57.dist-info → alissa_tools_github_devloop-0.8.58.dist-info}/entry_points.txt +0 -0
- {alissa_tools_github_devloop-0.8.57.dist-info → alissa_tools_github_devloop-0.8.58.dist-info}/licenses/LICENSE +0 -0
- {alissa_tools_github_devloop-0.8.57.dist-info → alissa_tools_github_devloop-0.8.58.dist-info}/licenses/NOTICE +0 -0
- {alissa_tools_github_devloop-0.8.57.dist-info → alissa_tools_github_devloop-0.8.58.dist-info}/top_level.txt +0 -0
|
@@ -516,6 +516,44 @@ from .state import State
|
|
|
516
516
|
|
|
517
517
|
log = logging.getLogger(__name__)
|
|
518
518
|
|
|
519
|
+
# The criteria-typing rule (issue #194). orcloop ticks only `evidence`
|
|
520
|
+
# criteria when a PR merges, and the soft validator answers "needs a human"
|
|
521
|
+
# for every `human` one -- so a worker that types a FACT ("PR ready for
|
|
522
|
+
# review", "screenshots committed") as `human` parks its task at
|
|
523
|
+
# pending_validation forever (TASK-183426950, PR #2652: 103 fleet tasks piled
|
|
524
|
+
# up and the backlog brake paused every release). The worker picks the type,
|
|
525
|
+
# so the directive must say how: by who can close the criterion. The
|
|
526
|
+
# operator-gate list stays out of the criteria because orcloop already
|
|
527
|
+
# harvests it from the PR body into the origin task's "Needs a look"
|
|
528
|
+
# checklist; copied in, it would turn every unverifiable item into a human
|
|
529
|
+
# criterion again. The legacy type words are deliberately never written here
|
|
530
|
+
# (a test pins their absence from every directive): naming them, even to
|
|
531
|
+
# forbid them, is how they get copied.
|
|
532
|
+
_CRITERIA_RULE = (
|
|
533
|
+
"Type every validation criterion on your implementation task by WHO CAN "
|
|
534
|
+
"CLOSE IT, writing the type as exactly one of `evidence`, `check` or "
|
|
535
|
+
"`human`: `evidence` is the default — it closes from what the PR, the "
|
|
536
|
+
"delivery note, a merged commit, a test run or a committed file shows "
|
|
537
|
+
"(orcloop ticks these on merge); `check`, with a `source`, when "
|
|
538
|
+
"a machine signal names it (`ci:<owner>/<repo>[#<check>]` for \"CI "
|
|
539
|
+
"green\"); `human` ONLY for a person's judgment (taste, a live phone "
|
|
540
|
+
"check, a pilot user, a decision) — and then say so in the criterion's "
|
|
541
|
+
"text. Facts are never `human`: \"PR ready / review requested / approved "
|
|
542
|
+
"/ merged\", \"tests X pass\", \"screenshots at <path> committed\", "
|
|
543
|
+
"\"doc section added\", \"delivery note registered\" are all "
|
|
544
|
+
"`evidence`. Never copy the PR body's \"Not verified — operator's gate\" "
|
|
545
|
+
"list into task criteria: orcloop harvests it into a \"Needs a look\" "
|
|
546
|
+
"checklist on the origin task by itself."
|
|
547
|
+
)
|
|
548
|
+
|
|
549
|
+
# The adopt half: a resumed or fix-round session inherits a task some other
|
|
550
|
+
# session typed, possibly before this rule existed.
|
|
551
|
+
_CRITERIA_ADOPT = (
|
|
552
|
+
" On a task you ADOPT, retype any criterion that breaks this rule (a fact "
|
|
553
|
+
"typed `human` becomes `evidence`), and type any criterion you add the "
|
|
554
|
+
"same way."
|
|
555
|
+
)
|
|
556
|
+
|
|
519
557
|
# The origin-task instruction is split in two because the downstream rule is
|
|
520
558
|
# the same either way -- only the starting point differs: a present ref is
|
|
521
559
|
# authoritative; an absent one (spawn_anyway / warn_and_spawn) makes locating
|
|
@@ -525,6 +563,8 @@ _TASK_WITH_ORIGIN = (
|
|
|
525
563
|
"implementation task DOWNSTREAM of it (create_downstream_task), and keep "
|
|
526
564
|
"its status honest: in_progress while you work, pending_validation at "
|
|
527
565
|
"handoff."
|
|
566
|
+
+ " "
|
|
567
|
+
+ _CRITERIA_RULE
|
|
528
568
|
)
|
|
529
569
|
|
|
530
570
|
_TASK_WITHOUT_ORIGIN = (
|
|
@@ -532,6 +572,8 @@ _TASK_WITHOUT_ORIGIN = (
|
|
|
532
572
|
"behind this issue, or create one, then create your implementation task "
|
|
533
573
|
"DOWNSTREAM of it before writing code, and keep its status honest: "
|
|
534
574
|
"in_progress while you work, pending_validation at handoff."
|
|
575
|
+
+ " "
|
|
576
|
+
+ _CRITERIA_RULE
|
|
535
577
|
)
|
|
536
578
|
|
|
537
579
|
# The resume counterparts. A resumed attempt inherits a PR the dead session
|
|
@@ -547,6 +589,9 @@ _RESUME_TASK_WITH_ORIGIN = (
|
|
|
547
589
|
"in_progress while you work, pending_validation at handoff. Only if the "
|
|
548
590
|
"PR body names none, create your implementation task DOWNSTREAM of the "
|
|
549
591
|
"origin (create_downstream_task) before writing code."
|
|
592
|
+
+ " "
|
|
593
|
+
+ _CRITERIA_RULE
|
|
594
|
+
+ _CRITERIA_ADOPT
|
|
550
595
|
)
|
|
551
596
|
|
|
552
597
|
_RESUME_TASK_WITHOUT_ORIGIN = (
|
|
@@ -555,6 +600,9 @@ _RESUME_TASK_WITHOUT_ORIGIN = (
|
|
|
555
600
|
"in_progress while you work, pending_validation at handoff); otherwise "
|
|
556
601
|
"locate the origin task behind this issue, or create one, and create "
|
|
557
602
|
"your implementation task DOWNSTREAM of it before writing code."
|
|
603
|
+
+ " "
|
|
604
|
+
+ _CRITERIA_RULE
|
|
605
|
+
+ _CRITERIA_ADOPT
|
|
558
606
|
)
|
|
559
607
|
|
|
560
608
|
# The delivery note (issue #63). A worker's highest-value output is not the
|
|
@@ -1514,6 +1562,9 @@ FIX_DIRECTIVE = (
|
|
|
1514
1562
|
"keep its status honest — in_progress while you work, pending_validation "
|
|
1515
1563
|
"at handoff. If a ref is missing from the PR body, restoring both is part "
|
|
1516
1564
|
"of your job: the PR body is the canonical cross-actor record. "
|
|
1565
|
+
+ _CRITERIA_RULE
|
|
1566
|
+
+ _CRITERIA_ADOPT
|
|
1567
|
+
+ " "
|
|
1517
1568
|
"Golden path: your cwd is the repo's worktree hub ROOT and the PR's head "
|
|
1518
1569
|
"branch `{head_ref}` already exists — re-attach its worktree with `git "
|
|
1519
1570
|
"worktree add {worktree_dir} {head_ref}` if it is missing (the directory "
|
|
@@ -1567,6 +1618,9 @@ FIX_RESUME_DIRECTIVE = (
|
|
|
1567
1618
|
"in_progress while you work, pending_validation at handoff. If a ref is "
|
|
1568
1619
|
"missing from the PR body, restoring both is part of your job: the PR "
|
|
1569
1620
|
"body is the canonical cross-actor record. "
|
|
1621
|
+
+ _CRITERIA_RULE
|
|
1622
|
+
+ _CRITERIA_ADOPT
|
|
1623
|
+
+ " "
|
|
1570
1624
|
"FIRST hydrate the context you did not live through: read the PR (body, "
|
|
1571
1625
|
"commits, and every review thread) and the issue behind it, to see how "
|
|
1572
1626
|
"far the dead session got. Golden path: your cwd is the repo's worktree "
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.8.
|
|
1
|
+
0.8.58
|
{alissa_tools_github_devloop-0.8.57.dist-info → alissa_tools_github_devloop-0.8.58.dist-info}/RECORD
RENAMED
|
@@ -10,13 +10,13 @@ alissa/tools/github/devloop/hubs.py,sha256=yjnsnSHLG7GNNP8X2hILeAMV6P5n4JGc_IaAx
|
|
|
10
10
|
alissa/tools/github/devloop/hungtests.py,sha256=TozIDydUe_Kn1m5EtGeGtYt_BrLqGznrNjikLYhxH-Q,24621
|
|
11
11
|
alissa/tools/github/devloop/integration_check.py,sha256=JkFwz3JqOQBIvzszmiql-IMVGSH3lDers6mJUHh9zMM,17928
|
|
12
12
|
alissa/tools/github/devloop/janitor.py,sha256=R8REoHBeY2cfW7fYJVhKr-F5z9Mjlc-vmv-z4KtvBZc,27360
|
|
13
|
-
alissa/tools/github/devloop/loop.py,sha256=
|
|
13
|
+
alissa/tools/github/devloop/loop.py,sha256=zseujnScvwQaQxAQaWZJ7FipwnFddCjwi7sk2MFW5UU,695978
|
|
14
14
|
alissa/tools/github/devloop/loop_events.py,sha256=9b7G2ak69Zm-oc_3IK8PplgOEdBydfER_ZFjKlCJJ5A,38093
|
|
15
15
|
alissa/tools/github/devloop/parking.py,sha256=7h3Gg2XQ0eqlvn0M6K6NeEg9xbqnlUPrZNs9gRofzxc,12410
|
|
16
16
|
alissa/tools/github/devloop/proc.py,sha256=nzfsxJSHFWRQcrXmfv588KazFysv8dVQrhMPH1q5eRk,3134
|
|
17
17
|
alissa/tools/github/devloop/prompts.py,sha256=VzN6ec5eF2wwg7QSCRg52WLcxo-tGbGRgQbc4HSahUc,55169
|
|
18
18
|
alissa/tools/github/devloop/state.py,sha256=uVwhbkogUTjWXXFq-COKzUeYrpuGbHzi05CjfEzAtPA,88668
|
|
19
|
-
alissa/tools/github/devloop/version,sha256=
|
|
19
|
+
alissa/tools/github/devloop/version,sha256=jbJJYfy1NcvGPpw31pt2VRtpDpZ8FX7UhBwTKUK-jFo,7
|
|
20
20
|
alissa/tools/github/devloop/version.py,sha256=znuuOaitXGrBpbskNy78_rlVpFdtmKmk_3k1ACxZrl0,1418
|
|
21
21
|
alissa/tools/github/devloop/webui/__init__.py,sha256=vdXYoyGYzD7BrJ5lV6XdH8Bpw_pej8-RK0hjfxop7-8,1513
|
|
22
22
|
alissa/tools/github/devloop/webui/__main__.py,sha256=wORyW5AkgsniK0TZcrOrvm_P7Q4Mr-fH-4S6qj9XcgA,6137
|
|
@@ -25,10 +25,10 @@ alissa/tools/github/devloop/webui/page.py,sha256=4OD3e01ByvVM4Wo04AZyFuyOYTFEMT2
|
|
|
25
25
|
alissa/tools/github/devloop/webui/server.py,sha256=3aGYGesjUSrPrgcpfy-oYDefBNKnAj3lGfRzwsRkv_I,27031
|
|
26
26
|
alissa/tools/github/devloop/webui/sources.py,sha256=Uw_2B5QGSmW6f66WfVbQb6yLLYmSv6uuF7HNJ5OSr_I,39314
|
|
27
27
|
alissa/tools/github/devloop/webui/sysinfo.py,sha256=ptlogH9alFv0vZ-pQfyUaA3w-K7LQS3tQHGv0d8Tdlk,9649
|
|
28
|
-
alissa_tools_github_devloop-0.8.
|
|
29
|
-
alissa_tools_github_devloop-0.8.
|
|
30
|
-
alissa_tools_github_devloop-0.8.
|
|
31
|
-
alissa_tools_github_devloop-0.8.
|
|
32
|
-
alissa_tools_github_devloop-0.8.
|
|
33
|
-
alissa_tools_github_devloop-0.8.
|
|
34
|
-
alissa_tools_github_devloop-0.8.
|
|
28
|
+
alissa_tools_github_devloop-0.8.58.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
29
|
+
alissa_tools_github_devloop-0.8.58.dist-info/licenses/NOTICE,sha256=FKstNs3uw_tQod4_1XcFLD1FUTJQXf4FC0oXJAOA_HE,260
|
|
30
|
+
alissa_tools_github_devloop-0.8.58.dist-info/METADATA,sha256=VSQAsLRKCHN13_i7eLfVUkYfCy70pxnEIzJc7b2r8yc,15973
|
|
31
|
+
alissa_tools_github_devloop-0.8.58.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
|
|
32
|
+
alissa_tools_github_devloop-0.8.58.dist-info/entry_points.txt,sha256=8aC7Ajzx4bu9ZRR37a40IDfuStacvZP5KsAxY1dbFKU,145
|
|
33
|
+
alissa_tools_github_devloop-0.8.58.dist-info/top_level.txt,sha256=DodjDg-l-TWQnlxG-Vuc3G5sB4O7cWGQwe6XrVx3u-A,7
|
|
34
|
+
alissa_tools_github_devloop-0.8.58.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|