Batch: agent work from agent-develop #54

Merged
EduarD3V merged 12 commits from agent-develop into develop 2026-10-07 09:05:38 +02:00
Collaborator

One batch of agent work, integrated on agent-develop and conflict-free against develop.

Commits:

5df33bc Merge pull request 'Issue #41: Bulk decomission — context-menu selection with two-stage confirm' (#51) from issue/41-bulk-decommission into agent-develop
89e7b70 dashboard: installs list context menu selection and two-stage bulk decommission (UC-FE-95, Refs #41)
d4318c8 docs: UC-FE-95 bulk decommission selection (Refs #41)
3521704 Merge pull request 'chore: pipeline defaults to the internal Forgejo URL' (#53) from chore/internal-forgejo-url into agent-develop
cebd782 agent-pipeline: default Forgejo endpoint to the internal URL http://192.168.31.10:30033
99f0d35 issue-flow skill: post the plan comment from a file (forgejo.py comment --file)
ed03092 Merge pull request 'Issue #42: Source list text — row marks moved to detail pane' (#50) from issue/42-source-list-text into agent-develop
03cb956 Merge branch 'agent-develop' into issue/42-source-list-text
723a69d Merge pull request 'Issue #39: Machines details page — uuid-keyed detail route, host selectors, tabbed capabilities' (#49) from issue/39-machines-details into agent-develop
1a56712 dashboard: move source row marks into the detail pane (UC-FE-51, UC-FE-73)
60cb368 feat(dashboard): machine detail keyed by uuid, tabbed capability panel
b1bbca5 feat(dashboard): derive machine uuid as MachineRow.id

Merged issue PRs:
Merge pull request 'Issue #41: Bulk decomission — context-menu selection with two-stage confirm' (#51) from issue/41-bulk-decommission into agent-develop
Merge pull request 'chore: pipeline defaults to the internal Forgejo URL' (#53) from chore/internal-forgejo-url into agent-develop
Merge pull request 'Issue #42: Source list text — row marks moved to detail pane' (#50) from issue/42-source-list-text into agent-develop
Merge branch 'agent-develop' into issue/42-source-list-text
Merge pull request 'Issue #39: Machines details page — uuid-keyed detail route, host selectors, tabbed capabilities' (#49) from issue/39-machines-details into agent-develop

CI runs on this PR: the five required contexts on develop must be green before it is merged.
Every contained PR was already green on its own branch.

Refs (#26 etc. - no closing keywords).

One batch of agent work, integrated on `agent-develop` and conflict-free against `develop`. Commits: ``` 5df33bc Merge pull request 'Issue #41: Bulk decomission — context-menu selection with two-stage confirm' (#51) from issue/41-bulk-decommission into agent-develop 89e7b70 dashboard: installs list context menu selection and two-stage bulk decommission (UC-FE-95, Refs #41) d4318c8 docs: UC-FE-95 bulk decommission selection (Refs #41) 3521704 Merge pull request 'chore: pipeline defaults to the internal Forgejo URL' (#53) from chore/internal-forgejo-url into agent-develop cebd782 agent-pipeline: default Forgejo endpoint to the internal URL http://192.168.31.10:30033 99f0d35 issue-flow skill: post the plan comment from a file (forgejo.py comment --file) ed03092 Merge pull request 'Issue #42: Source list text — row marks moved to detail pane' (#50) from issue/42-source-list-text into agent-develop 03cb956 Merge branch 'agent-develop' into issue/42-source-list-text 723a69d Merge pull request 'Issue #39: Machines details page — uuid-keyed detail route, host selectors, tabbed capabilities' (#49) from issue/39-machines-details into agent-develop 1a56712 dashboard: move source row marks into the detail pane (UC-FE-51, UC-FE-73) 60cb368 feat(dashboard): machine detail keyed by uuid, tabbed capability panel b1bbca5 feat(dashboard): derive machine uuid as MachineRow.id ``` Merged issue PRs: Merge pull request 'Issue #41: Bulk decomission — context-menu selection with two-stage confirm' (#51) from issue/41-bulk-decommission into agent-develop Merge pull request 'chore: pipeline defaults to the internal Forgejo URL' (#53) from chore/internal-forgejo-url into agent-develop Merge pull request 'Issue #42: Source list text — row marks moved to detail pane' (#50) from issue/42-source-list-text into agent-develop Merge branch 'agent-develop' into issue/42-source-list-text Merge pull request 'Issue #39: Machines details page — uuid-keyed detail route, host selectors, tabbed capabilities' (#49) from issue/39-machines-details into agent-develop CI runs on this PR: the five required contexts on `develop` must be green before it is merged. Every contained PR was already green on its own branch. Refs (#26 etc. - no closing keywords).
MachineRow.id is now a stable uuid derived from <organizationId>|<canonical host>
(four FNV-1a lanes -> 128 bits). Pure arithmetic: same id in every component, no
schema column, org in the seed keeps same-named hosts in different orgs apart.
api-cache snapshot + machine SSE patch derive the same id; hostname stays the key
the middleware HTTP API uses.

Refs #39 UC-FE-65 UC-FE-66 UC-FE-68
Every host selector now links /agents/machines/<id> where id is the derived
machine uuid: agents inspector, machines list selection + URL, groups members and
candidates, fleet hex map (click and sr-only nav), pinned shortcuts, dashboard
machine widget, and control chat. The detail route directory is [id]; the page
resolves the id to a hostname from the live cache behind $ready, so the first
paint never 404s, then calls the hostname-keyed API unchanged. Peers match on
canonical host. Overview + Capabilities cards become one full-width panel with
overview / Exec / disks tabs (ui/tabs, variant=line).

UC-FE-66 rewritten (id route, tabs, ready gate); UC-FE-65 step 1/2/6 + extension
2a + postcondition; UC-FE-68 note; UC-FE-85 step 3 and nav_selenium.py discover
the machine detail href from the list instead of the demo-01 literal.

Refs #39 UC-FE-65 UC-FE-66 UC-FE-68 UC-FE-85
Left list rows on /alerts/sources now show only title and kind; the
status/custom pill, "Auto-detected" badge, owner badge, and
"pulls every Ns" moved to the selected source's detail pane.

Refs #42
Reviewed-on: #49
Reviewed-on: #50
The public git.eduard3v.com URL is fronted by Cloudflare and intermittently
returns 400/1010 to the pipeline's API calls; the internal instance URL is the
same Forgejo and serves them directly. Credential lookups in forgejo.py and
integrate.py accept the public-host credential line either way, so bot-token
and operator-basic auth both keep working against either endpoint.
GOTOI_FORGEJO still overrides.
Reviewed-on: #53
Reviewed-by: EduarD3V <[email protected]>
Merge pull request 'Issue #41: Bulk decomission — context-menu selection with two-stage confirm' (#51) from issue/41-bulk-decommission into agent-develop
All checks were successful
CI and agent release / check-docs (pull_request) Successful in 27s
agent-guards / test-tampering (pull_request) Successful in 38s
CI and agent release / test-agent (pull_request) Successful in 1m39s
CI and agent release / test-dashboard (pull_request) Successful in 2m41s
CI and agent release / test-middleware (pull_request) Successful in 8m37s
CI and agent release / build (pull_request) Has been skipped
CI and agent release / release (pull_request) Has been skipped
CI and agent release / publish-images (pull_request) Has been skipped
5df33bcb80
Reviewed-on: #51
EduarD3V merged commit bb4bd397c1 into develop 2026-10-07 09:05:38 +02:00
Sign in to join this conversation.
No description provided.