alissa-tools-github-devloop 0.8.49__tar.gz → 0.8.50__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.
Files changed (41) hide show
  1. {alissa_tools_github_devloop-0.8.49/src/main/alissa_tools_github_devloop.egg-info → alissa_tools_github_devloop-0.8.50}/PKG-INFO +1 -1
  2. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/integration_check.py +16 -2
  3. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/loop.py +3 -1
  4. alissa_tools_github_devloop-0.8.50/src/main/alissa/tools/github/devloop/version +1 -0
  5. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50/src/main/alissa_tools_github_devloop.egg-info}/PKG-INFO +1 -1
  6. alissa_tools_github_devloop-0.8.49/src/main/alissa/tools/github/devloop/version +0 -1
  7. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/LICENSE +0 -0
  8. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/MANIFEST.in +0 -0
  9. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/NOTICE +0 -0
  10. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/README.md +0 -0
  11. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/requirements.txt +0 -0
  12. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/setup.cfg +0 -0
  13. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/setup.py +0 -0
  14. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/__init__.py +0 -0
  15. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/__main__.py +0 -0
  16. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/alissa.py +0 -0
  17. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/alissa_client.py +0 -0
  18. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/bows.py +0 -0
  19. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/config.py +0 -0
  20. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/fleet_vitals.py +0 -0
  21. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/ghclient.py +0 -0
  22. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/hubs.py +0 -0
  23. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/hungtests.py +0 -0
  24. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/janitor.py +0 -0
  25. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/loop_events.py +0 -0
  26. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/parking.py +0 -0
  27. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/proc.py +0 -0
  28. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/prompts.py +0 -0
  29. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/state.py +0 -0
  30. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/version.py +0 -0
  31. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/webui/__init__.py +0 -0
  32. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/webui/__main__.py +0 -0
  33. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/webui/auth.py +0 -0
  34. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/webui/page.py +0 -0
  35. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/webui/server.py +0 -0
  36. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/webui/sources.py +0 -0
  37. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa/tools/github/devloop/webui/sysinfo.py +0 -0
  38. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa_tools_github_devloop.egg-info/SOURCES.txt +0 -0
  39. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa_tools_github_devloop.egg-info/dependency_links.txt +0 -0
  40. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa_tools_github_devloop.egg-info/entry_points.txt +0 -0
  41. {alissa_tools_github_devloop-0.8.49 → alissa_tools_github_devloop-0.8.50}/src/main/alissa_tools_github_devloop.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alissa-tools-github-devloop
3
- Version: 0.8.49
3
+ Version: 0.8.50
4
4
  Summary: ALISSA-TOOLS-GITHUB-DEVLOOP
5
5
  Home-page: https://alissa.app
6
6
  Author: Fahera
@@ -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`, plus the recipe's `--set` values. Nothing else of the
20
- seat's environment is inherited.
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) with "
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 "
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alissa-tools-github-devloop
3
- Version: 0.8.49
3
+ Version: 0.8.50
4
4
  Summary: ALISSA-TOOLS-GITHUB-DEVLOOP
5
5
  Home-page: https://alissa.app
6
6
  Author: Fahera