alissa-tools-github-devloop 0.8.49__tar.gz → 0.8.51__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.
- {alissa_tools_github_devloop-0.8.49/src/main/alissa_tools_github_devloop.egg-info → alissa_tools_github_devloop-0.8.51}/PKG-INFO +1 -1
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/integration_check.py +16 -2
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/loop.py +3 -1
- alissa_tools_github_devloop-0.8.51/src/main/alissa/tools/github/devloop/version +1 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51/src/main/alissa_tools_github_devloop.egg-info}/PKG-INFO +1 -1
- alissa_tools_github_devloop-0.8.49/src/main/alissa/tools/github/devloop/version +0 -1
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/LICENSE +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/MANIFEST.in +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/NOTICE +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/README.md +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/requirements.txt +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/setup.cfg +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/setup.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/__init__.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/__main__.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/alissa.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/alissa_client.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/bows.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/config.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/fleet_vitals.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/ghclient.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/hubs.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/hungtests.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/janitor.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/loop_events.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/parking.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/proc.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/prompts.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/state.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/version.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/webui/__init__.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/webui/__main__.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/webui/auth.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/webui/page.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/webui/server.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/webui/sources.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa/tools/github/devloop/webui/sysinfo.py +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa_tools_github_devloop.egg-info/SOURCES.txt +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa_tools_github_devloop.egg-info/dependency_links.txt +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa_tools_github_devloop.egg-info/entry_points.txt +0 -0
- {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.51}/src/main/alissa_tools_github_devloop.egg-info/top_level.txt +0 -0
|
@@ -16,8 +16,10 @@ environment, its HOME and its log -- and no further (see *Residual* below):
|
|
|
16
16
|
|
|
17
17
|
- **A from-scratch environment** (`env -i` semantics): `PATH`, a scratch
|
|
18
18
|
`HOME` (never the seat's, which holds gh's and Claude's credential files),
|
|
19
|
-
`LANG`, `TERM`, `CI`,
|
|
20
|
-
seat's
|
|
19
|
+
`LANG`, `TERM`, `CI`, the seat's INHERITED_NAMES (`PLAYWRIGHT_BROWSERS_PATH`,
|
|
20
|
+
so Playwright finds the seat's pinned browser instead of downloading one,
|
|
21
|
+
issue #181), plus the recipe's `--set` values, which win. Nothing else of
|
|
22
|
+
the seat's environment is inherited.
|
|
21
23
|
- **Refused before anything runs** (exit 3): a `--set` name that is a
|
|
22
24
|
session credential's (`ALISSA_*`, `GH_*`, `GITHUB_*`, `ANTHROPIC_*`,
|
|
23
25
|
`CLAUDE_*`, and the registry/deploy tokens of SESSION_TOKEN_NAMES), a
|
|
@@ -66,6 +68,13 @@ from typing import IO, Iterable, Mapping, Sequence
|
|
|
66
68
|
|
|
67
69
|
HELPER = "python3 -m alissa.tools.github.devloop.integration_check"
|
|
68
70
|
|
|
71
|
+
# The seat's variables the app's environment inherits as they are, when set:
|
|
72
|
+
# tool locations, never credentials. PLAYWRIGHT_BROWSERS_PATH points Playwright
|
|
73
|
+
# at the seat's pinned headless Chromium (/opt/ms-playwright); without it a
|
|
74
|
+
# session running Playwright through the helper finds no browser under the
|
|
75
|
+
# scratch HOME (issue #181). A `--set` of the same name overrides it.
|
|
76
|
+
INHERITED_NAMES = ("PLAYWRIGHT_BROWSERS_PATH",)
|
|
77
|
+
|
|
69
78
|
REPLACEMENT = "[scrubbed]"
|
|
70
79
|
|
|
71
80
|
# Names the app's environment may never carry: this session's credentials and
|
|
@@ -194,6 +203,11 @@ def clean_env(
|
|
|
194
203
|
"CI": "true",
|
|
195
204
|
}
|
|
196
205
|
secrets = session_secrets(environ)
|
|
206
|
+
for name in INHERITED_NAMES:
|
|
207
|
+
value = environ.get(name)
|
|
208
|
+
# Never carry a value that holds a credential, whatever its name.
|
|
209
|
+
if value and not any(s in value for s in secrets):
|
|
210
|
+
env[name] = value
|
|
197
211
|
for item in sets:
|
|
198
212
|
name, eq, value = item.partition("=")
|
|
199
213
|
if not eq or not _NAME_RE.match(name):
|
|
@@ -1119,7 +1119,9 @@ INTEGRATION_CHECK_DIRECTIVE = (
|
|
|
1119
1119
|
"seed, start — and the headless browser through `{helper} run --cwd "
|
|
1120
1120
|
"<scratch> --home <scratch>/.ic-home --log <evidence log> --set "
|
|
1121
1121
|
"NAME=VALUE … -- sh -c '<step>'`, one `--set` per recipe `env` value. "
|
|
1122
|
-
"It starts the step from an empty environment (`env -i` semantics
|
|
1122
|
+
"It starts the step from an empty environment (`env -i` semantics; of "
|
|
1123
|
+
"the seat's own variables only `PLAYWRIGHT_BROWSERS_PATH` crosses, so "
|
|
1124
|
+
"Playwright finds the seat's pinned browser) with "
|
|
1123
1125
|
"a scratch HOME, so this session's tokens (`ALISSA_API_TOKEN`, "
|
|
1124
1126
|
"`GH_TOKEN`, the Claude credential) are not in the app's environment "
|
|
1125
1127
|
"and gh's and Claude's credential files are not under its HOME, and it "
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.8.51
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.8.49
|
|
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
|