Add daily logs and templates for project fidelity
- Created daily log entries for May 13, 14, 18, 19, 20, and 21, capturing work done, findings, and next steps. - Established a daily logs index for easy navigation of daily notes. - Developed templates for daily logs, decisions, meeting notes, people, systems, and work items to standardize documentation. - Introduced base files for filtering and displaying various types of project knowledge, including daily notes, decisions, people, systems, work items, and workstreams. - Added maps for current work, fidelity apps, and fidelity domain to enhance project navigation and context.
This commit is contained in:
@@ -56,8 +56,8 @@ Current fields:
|
||||
|
||||
```json
|
||||
{
|
||||
"knowledge_dir": "project-knowledge",
|
||||
"inbox_dir": "ai/inbox",
|
||||
"knowledge_dir": "workspaces/fidelity/project-knowledge",
|
||||
"inbox_dir": "workspaces/fidelity/inbox",
|
||||
"index_dir": ".aiw/indexes/fidelity"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -17,8 +17,8 @@ ROOT = Path(__file__).resolve().parents[2]
|
||||
|
||||
|
||||
DEFAULT_WORKSPACE = {
|
||||
"knowledge_dir": "project-knowledge",
|
||||
"inbox_dir": "ai/inbox",
|
||||
"knowledge_dir": "workspaces/{profile}/project-knowledge",
|
||||
"inbox_dir": "workspaces/{profile}/inbox",
|
||||
"index_dir": ".aiw/indexes/{profile}",
|
||||
}
|
||||
|
||||
@@ -52,12 +52,12 @@ def resolve_path(raw: str | None, *, profile: str, root: Path | None = None, fal
|
||||
|
||||
def knowledge_dir(profile: str, root: Path | None = None) -> Path:
|
||||
config = load_workspace_config(profile, root=root)
|
||||
return resolve_path(config.get("knowledge_dir"), profile=profile, root=root, fallback="project-knowledge")
|
||||
return resolve_path(config.get("knowledge_dir"), profile=profile, root=root, fallback="workspaces/{profile}/project-knowledge")
|
||||
|
||||
|
||||
def inbox_dir(profile: str, root: Path | None = None) -> Path:
|
||||
config = load_workspace_config(profile, root=root)
|
||||
return resolve_path(config.get("inbox_dir"), profile=profile, root=root, fallback="ai/inbox")
|
||||
return resolve_path(config.get("inbox_dir"), profile=profile, root=root, fallback="workspaces/{profile}/inbox")
|
||||
|
||||
|
||||
def index_dir(profile: str, root: Path | None = None) -> Path:
|
||||
|
||||
@@ -23,8 +23,8 @@ class IndexerTests(unittest.TestCase):
|
||||
def test_build_skips_templates_and_searches_canonical_files(self) -> None:
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
root = Path(tmp)
|
||||
real = root / "project-knowledge" / "03-context" / "project.md"
|
||||
template = root / "project-knowledge" / "09-templates" / "daily.md"
|
||||
real = root / "workspaces" / "fidelity" / "project-knowledge" / "03-context" / "project.md"
|
||||
template = root / "workspaces" / "fidelity" / "project-knowledge" / "09-templates" / "daily.md"
|
||||
real.parent.mkdir(parents=True)
|
||||
template.parent.mkdir(parents=True)
|
||||
real.write_text("# XFlow\nDismissal lifecycle context", encoding="utf-8")
|
||||
@@ -48,7 +48,7 @@ class IndexerTests(unittest.TestCase):
|
||||
self.assertIn(".aiw/indexes/fidelity/project-knowledge.jsonl", result["index_path"])
|
||||
|
||||
def test_cli_search_payload_is_json_serializable(self) -> None:
|
||||
payload = {"matches": [{"path": "project-knowledge/01-current/current-work.md", "score": 1.0}]}
|
||||
payload = {"matches": [{"path": "workspaces/fidelity/project-knowledge/01-current/current-work.md", "score": 1.0}]}
|
||||
self.assertIsInstance(json.dumps(payload), str)
|
||||
|
||||
def test_build_uses_workspace_json_paths(self) -> None:
|
||||
|
||||
@@ -34,12 +34,12 @@ class ProfileTests(unittest.TestCase):
|
||||
self.assertEqual(profile.inbox_dir("demo", root=root), root / "workspaces" / "demo" / "inbox")
|
||||
self.assertEqual(profile.index_dir("demo", root=root), root / ".aiw" / "indexes" / "demo")
|
||||
|
||||
def test_defaults_preserve_current_root_paths(self) -> None:
|
||||
def test_defaults_use_isolated_workspace_paths(self) -> None:
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
root = Path(tmp)
|
||||
|
||||
self.assertEqual(profile.knowledge_dir("missing", root=root), root / "project-knowledge")
|
||||
self.assertEqual(profile.inbox_dir("missing", root=root), root / "ai" / "inbox")
|
||||
self.assertEqual(profile.knowledge_dir("missing", root=root), root / "workspaces" / "missing" / "project-knowledge")
|
||||
self.assertEqual(profile.inbox_dir("missing", root=root), root / "workspaces" / "missing" / "inbox")
|
||||
self.assertEqual(profile.index_dir("missing", root=root), root / ".aiw" / "indexes" / "missing")
|
||||
|
||||
def test_relative_to_root_handles_external_paths(self) -> None:
|
||||
|
||||
Reference in New Issue
Block a user