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
1 change: 1 addition & 0 deletions chips/euler
Submodule euler added at 73b9f0
1 change: 1 addition & 0 deletions chips/gamma
Submodule gamma added at a90a3d
1 change: 1 addition & 0 deletions chips/phi
Submodule phi added at f54566
21 changes: 20 additions & 1 deletion cli/tri/src/rtl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,26 @@ fn declared_sources(dir: &Path) -> Result<Vec<PathBuf>> {
}

fn top_from_info(dir: &Path) -> Result<String> {
let text = std::fs::read_to_string(dir.join("info.yaml"))?;
// `declared_sources` names the file it cannot read; this one did not, and it
// runs FIRST. So a missing design directory came out of the whole command as
//
// Error: No such file or directory (os error 2)
//
// naming neither the path nor what was expected there. The CI step that
// points at chips/phi -- a submodule declared in .gitmodules with no gitlink
// committed, so it never materialises -- has been failing on exactly this,
// and the message told nobody why.
if !dir.is_dir() {
bail!(
"no design directory at {} -- `tri rtl check` expects a directory \
holding info.yaml and src/. If this is a submodule path, it is \
declared but not checked out.",
dir.display()
);
}
let info = dir.join("info.yaml");
let text = std::fs::read_to_string(&info)
.with_context(|| format!("no info.yaml at {}", info.display()))?;
for line in text.lines() {
let t = line.trim();
if let Some(rest) = t.strip_prefix("top_module:") {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# NOW -- Three submodule registrations were deleted by a commit about a skill document (2026-08-28)

## Three submodule registrations were deleted by a commit about a skill document (Refs #2754)

- chips/{phi,euler,gamma} were registered on 2026-05-23 and dropped in b79702ee1, three deletions inside 174 changed files
- submodules: true in cli-tri.yml was already set and fetched nothing, because there were zero gitlinks to fetch
- tri rtl check died with a bare os error 2; top_from_info runs before the one function that named its file
- restored to the exact SHAs held before the deletion, each verified to still exist upstream
Loading