arche_audit
Audit Arche DEF CON materials via Gemini: compare raw sources to talk-tier rubrics.
Locates four markdown files (known layout paths + find fallback), sends their
full text to a capable Gemini model, and writes arche_audit_result.md.
- arche_audit.locate_arche_files(repo_root, arche_root=None)[source]
Locate each required Arche source file, returning basename -> path.
Resolves the set of mandatory Arche files (
ARCHIVE_FILES) by trying, in order: an explicitarche_rootwhen given, then each entry of_RELATIVE_SEARCH_DIRSunderrepo_root, and finally a filesystemfind(_find_via_find()) rooted atrepo_rootand its parent. The first hit for each name wins; names that cannot be found are omitted.Called by this module’s
mainCLI entry point (arche_audit.py:401) to discover the files it audits.- Parameters:
- Returns:
Mapping of each located file’s basename to its resolved absolute path; missing files are absent from the mapping.
- Return type:
- arche_audit.main()[source]
Run the async audit pipeline and exit with its return code.
Synchronous CLI entry point that runs
_async_main()viaasyncio.runand converts its integer return value into process exit status.Interactions: calls
asyncio.run(_async_main(sys.argv[1:]))and raisesSystemExitwith the result. Invoked from theif __name__ == "__main__"guard; no internal callers were found elsewhere in the repo.- Raises:
SystemExit – Always, carrying the exit code returned by
_async_main().- Return type: