Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Adaptive Agent Lab

[![CI](https://github.com/Revincxt/adaptive-agent-lab/actions/workflows/ci.yml/badge.svg)](https://github.com/Revincxt/adaptive-agent-lab/actions/workflows/ci.yml)
[![CI](https://github.com/Revincxt/adaptive-agent/actions/workflows/ci.yml/badge.svg)](https://github.com/Revincxt/adaptive-agent/actions/workflows/ci.yml)
[![Python 3.11+](https://img.shields.io/badge/Python-3.11%2B-3776AB.svg)](https://www.python.org/)
[![Live demo](https://img.shields.io/badge/Live_demo-GitHub_Pages-2F81F7.svg?logo=github)](https://revincxt.github.io/adaptive-agent-lab/)
[![Live demo](https://img.shields.io/badge/Live_demo-GitHub_Pages-2F81F7.svg?logo=github)](https://revincxt.github.io/adaptive-agent/)

[![Adaptive Agent Lab warehouse replay](web/public/og.png)](https://revincxt.github.io/adaptive-agent-lab/)
[![Adaptive Agent Lab warehouse replay](web/public/og.png)](https://revincxt.github.io/adaptive-agent/)

**A reproducible laboratory for planning, reinforcement learning, and hybrid
agents in dynamic single-robot warehouse delivery.**

> **[Open the multi-map replay explorer →](https://revincxt.github.io/adaptive-agent-lab/)**
> **[Open the multi-map replay explorer →](https://revincxt.github.io/adaptive-agent/)**
> Inspect six controllers across four structured warehouse layouts. Each case
> is an independent non-confirmatory demonstration, not evidence of an
> algorithm ranking.
Expand Down
6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ dev = [
aal = "adaptive_agent_lab.cli:main"

[project.urls]
Homepage = "https://github.com/Revincxt/adaptive-agent-lab"
Repository = "https://github.com/Revincxt/adaptive-agent-lab"
Issues = "https://github.com/Revincxt/adaptive-agent-lab/issues"
Homepage = "https://github.com/Revincxt/adaptive-agent"
Repository = "https://github.com/Revincxt/adaptive-agent"
Issues = "https://github.com/Revincxt/adaptive-agent/issues"

[tool.setuptools]
package-dir = { "" = "src" }
Expand Down
2 changes: 1 addition & 1 deletion web/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,4 @@ pnpm build

`pnpm test` includes a production build before checking the rendered HTML.
`pnpm test:pages` additionally exports and verifies the public
`/adaptive-agent-lab/` artifact used by GitHub Pages.
`/adaptive-agent/` artifact used by GitHub Pages.
6 changes: 3 additions & 3 deletions web/app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -391,7 +391,7 @@ export default function Home() {
<p className="eyebrow">Adaptive Agent Lab</p>
<h1>Replay gallery unavailable</h1>
<p>{error}</p>
<a href="https://github.com/Revincxt/adaptive-agent-lab">Open the repository</a>
<a href="https://github.com/Revincxt/adaptive-agent">Open the repository</a>
</main>
);
}
Expand Down Expand Up @@ -487,7 +487,7 @@ export default function Home() {
<div className="header-meta">
<span className="recorded-status"><i /> Recorded demonstrations</span>
<a href="#method">Method</a>
<a href="https://github.com/Revincxt/adaptive-agent-lab">GitHub ↗</a>
<a href="https://github.com/Revincxt/adaptive-agent">GitHub ↗</a>
</div>
</header>

Expand Down Expand Up @@ -959,7 +959,7 @@ export default function Home() {

<footer className="app-footer">
<span>Adaptive Agent Lab · schema v{bundle.schemaVersion}</span>
<a href="https://github.com/Revincxt/adaptive-agent-lab">Source, protocol, and reproducibility notes ↗</a>
<a href="https://github.com/Revincxt/adaptive-agent">Source, protocol, and reproducibility notes ↗</a>
</footer>
</article>
</div>
Expand Down
4 changes: 2 additions & 2 deletions web/scripts/export-github-pages.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { spawn } from "node:child_process";
import { cp, mkdir, readFile, rm, writeFile } from "node:fs/promises";
import { fileURLToPath } from "node:url";

const pagesBase = process.env.GITHUB_PAGES_BASE_PATH ?? "/adaptive-agent-lab/";
const pagesBase = process.env.GITHUB_PAGES_BASE_PATH ?? "/adaptive-agent/";

assert.match(
pagesBase,
Expand Down Expand Up @@ -107,7 +107,7 @@ assert.doesNotMatch(
);
assert.doesNotMatch(
html,
/adaptive-agent-lab\/adaptive-agent-lab/,
/adaptive-agent\/adaptive-agent/,
"already-based public URLs must not be rebased twice",
);

Expand Down
18 changes: 9 additions & 9 deletions web/tests/pages-export.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,40 +7,40 @@ test("exports a self-contained GitHub Pages artifact under the repository path",
new URL("../dist/pages/index.html", import.meta.url),
"utf8",
);
const pagesBase = "/adaptive-agent-lab/";
const pagesBase = "/adaptive-agent/";

assert.match(
html,
/<title>Adaptive Agent Lab — Multi-map Replay Explorer<\/title>/i,
);
assert.match(html, /href="\/adaptive-agent-lab\/assets\/[^" ]+\.css"/);
assert.match(html, /import\("\/adaptive-agent-lab\/assets\/[^" ]+\.js"\)/);
assert.match(html, /href="\/adaptive-agent\/assets\/[^" ]+\.css"/);
assert.match(html, /import\("\/adaptive-agent\/assets\/[^" ]+\.js"\)/);
assert.match(
html,
/href="https:\/\/revincxt\.github\.io\/adaptive-agent-lab\/favicon\.svg"/,
/href="https:\/\/revincxt\.github\.io\/adaptive-agent\/favicon\.svg"/,
);
assert.match(
html,
/property="og:image" content="https:\/\/revincxt\.github\.io\/adaptive-agent-lab\/og\.png"/,
/property="og:image" content="https:\/\/revincxt\.github\.io\/adaptive-agent\/og\.png"/,
);
assert.match(
html,
/name="twitter:image" content="https:\/\/revincxt\.github\.io\/adaptive-agent-lab\/og\.png"/,
/name="twitter:image" content="https:\/\/revincxt\.github\.io\/adaptive-agent\/og\.png"/,
);
assert.match(
html,
/rel="canonical" href="https:\/\/revincxt\.github\.io\/adaptive-agent-lab\/"/,
/rel="canonical" href="https:\/\/revincxt\.github\.io\/adaptive-agent\/"/,
);
assert.doesNotMatch(
html,
/(?:href|src|content)=["']\/(?:assets\/|favicon\.svg|og\.png)/,
);
assert.doesNotMatch(html, /import\(["']\/assets\//);
assert.doesNotMatch(html, /adaptive-agent-lab\/adaptive-agent-lab/);
assert.doesNotMatch(html, /adaptive-agent\/adaptive-agent/);

const assetUrls = new Set(
html.match(
/\/adaptive-agent-lab\/(?:assets\/[^"'\\\s<]+|favicon\.svg|og\.png)/g,
/\/adaptive-agent\/(?:assets\/[^"'\\\s<]+|favicon\.svg|og\.png)/g,
) ?? [],
);
assert.ok(assetUrls.size >= 7);
Expand Down
2 changes: 1 addition & 1 deletion web/tests/sites-build.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ test("builds a self-contained root-path Sites artifact", async () => {
html,
new RegExp(`property="og:image" content="${canonicalOrigin}/og\\.png"`),
);
assert.doesNotMatch(html, /\/adaptive-agent-lab\/assets\//);
assert.doesNotMatch(html, /\/adaptive-agent\/assets\//);

const assetUrls = new Set(html.match(/\/assets\/[^"'\\\s<]+/g) ?? []);
assert.ok(assetUrls.size >= 5);
Expand Down