Document the knowledge repository and the agent setup - #74

Open
finsberg wants to merge 1 commit into
mainfrom
docs/knowledge-repo
Open

Document the knowledge repository and the agent setup#74
finsberg wants to merge 1 commit into
mainfrom
docs/knowledge-repo

Conversation

@finsberg

@finsbergfinsberg commented Aug 27, 2026

Copy link
Copy Markdown
Member

The design records, specs, reference papers and agent memory now live in
dolfinx-adjoint-knowledge
rather than in this repository, which keeps this one free of files most contributors do not
need — but left no trace of where they went. This says where, and how to pick them up.

In the contributor guidelines rather than the README: it is setup for people working on the
project, not something someone installing the package needs, and it sits beside the existing
notes on what CI expects.

It covers linking the knowledge repository in, what a coding agent then picks up automatically,
where per-project agent memory lives, and where the repository-scoped skills come from.

Two things that are easy to get wrong are called out explicitly, because both fail quietly:

  • The linking step has to add the paths to .git/info/exclude. That file is per-clone and is
    not itself versioned, so a fresh clone does not inherit the exclusions and would offer the
    symlinks up for commit — the one thing the separation exists to prevent.
  • Those patterns must not carry a trailing slash. .scratch/ matches a directory and stops
    matching once the path is a symlink, which is exactly what happened here when the files moved.

The knowledge repository is private, so the section says so and makes clear nothing here depends
on it: you can build, test and contribute without it.

Separate from #71 deliberately — that one is about checkpointing and this is unrelated
documentation.

Note on CI

Check formatting fails on this branch, and it is not from this change: this branch is
documentation-only, cut from main, and main is currently red. ruff reports two
import-sorting errors in src/dolfinx_adjoint/blocks/interpolation.py and
src/dolfinx_adjoint/types/function.py, introduced with the nonmatching interpolation work.
Both are already fixed on the branch for #71, so merging that turns main green again.

🤖 Generated with Claude Code

The design records, specs, reference papers and agent memory now live in
dolfinx-adjoint-knowledge rather than here, which keeps this repository
free of files most contributors do not need but leaves no trace of where
they went.
Put it in the contributor guidelines rather than the README: it is
setup for people working on the project, not information someone
installing the package needs, and it sits naturally beside the existing
notes on what CI expects.
Covers linking the knowledge repository in, what an agent then picks up
automatically, where per-project agent memory lives, and where the skills
come from. Two things that are easy to get wrong are called out: the
linking step has to add the paths to .git/info/exclude, because that file
is per-clone and unversioned so a fresh clone would offer the symlinks up
for commit; and those patterns must not carry a trailing slash, which
matches a directory and silently stops matching a symlink.
@finsbergfinsberg changed the title Point developers at the knowledge repositoryDocument the knowledge repository and the agent setupAug 27, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@finsberg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Document the knowledge repository and the agent setup - #74

Open
finsberg wants to merge 1 commit into
mainfrom
docs/knowledge-repo
Open

Document the knowledge repository and the agent setup#74
finsberg wants to merge 1 commit into
mainfrom
docs/knowledge-repo

Conversation

@finsberg

@finsbergfinsberg commented Aug 27, 2026

Copy link
Copy Markdown
Member

The design records, specs, reference papers and agent memory now live in
dolfinx-adjoint-knowledge
rather than in this repository, which keeps this one free of files most contributors do not
need — but left no trace of where they went. This says where, and how to pick them up.

In the contributor guidelines rather than the README: it is setup for people working on the
project, not something someone installing the package needs, and it sits beside the existing
notes on what CI expects.

It covers linking the knowledge repository in, what a coding agent then picks up automatically,
where per-project agent memory lives, and where the repository-scoped skills come from.

Two things that are easy to get wrong are called out explicitly, because both fail quietly:

  • The linking step has to add the paths to .git/info/exclude. That file is per-clone and is
    not itself versioned, so a fresh clone does not inherit the exclusions and would offer the
    symlinks up for commit — the one thing the separation exists to prevent.
  • Those patterns must not carry a trailing slash. .scratch/ matches a directory and stops
    matching once the path is a symlink, which is exactly what happened here when the files moved.

The knowledge repository is private, so the section says so and makes clear nothing here depends
on it: you can build, test and contribute without it.

Separate from #71 deliberately — that one is about checkpointing and this is unrelated
documentation.

Note on CI

Check formatting fails on this branch, and it is not from this change: this branch is
documentation-only, cut from main, and main is currently red. ruff reports two
import-sorting errors in src/dolfinx_adjoint/blocks/interpolation.py and
src/dolfinx_adjoint/types/function.py, introduced with the nonmatching interpolation work.
Both are already fixed on the branch for #71, so merging that turns main green again.

🤖 Generated with Claude Code

The design records, specs, reference papers and agent memory now live in
dolfinx-adjoint-knowledge rather than here, which keeps this repository
free of files most contributors do not need but leaves no trace of where
they went.
Put it in the contributor guidelines rather than the README: it is
setup for people working on the project, not information someone
installing the package needs, and it sits naturally beside the existing
notes on what CI expects.
Covers linking the knowledge repository in, what an agent then picks up
automatically, where per-project agent memory lives, and where the skills
come from. Two things that are easy to get wrong are called out: the
linking step has to add the paths to .git/info/exclude, because that file
is per-clone and unversioned so a fresh clone would offer the symlinks up
for commit; and those patterns must not carry a trailing slash, which
matches a directory and silently stops matching a symlink.
@finsbergfinsberg changed the title Point developers at the knowledge repositoryDocument the knowledge repository and the agent setupAug 27, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@finsberg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Document the knowledge repository and the agent setup - #74

Open
finsberg wants to merge 1 commit into
mainfrom
docs/knowledge-repo
Open

Document the knowledge repository and the agent setup#74
finsberg wants to merge 1 commit into
mainfrom
docs/knowledge-repo

Conversation

@finsberg

@finsbergfinsberg commented Aug 27, 2026

Copy link
Copy Markdown
Member

The design records, specs, reference papers and agent memory now live in
dolfinx-adjoint-knowledge
rather than in this repository, which keeps this one free of files most contributors do not
need — but left no trace of where they went. This says where, and how to pick them up.

In the contributor guidelines rather than the README: it is setup for people working on the
project, not something someone installing the package needs, and it sits beside the existing
notes on what CI expects.

It covers linking the knowledge repository in, what a coding agent then picks up automatically,
where per-project agent memory lives, and where the repository-scoped skills come from.

Two things that are easy to get wrong are called out explicitly, because both fail quietly:

  • The linking step has to add the paths to .git/info/exclude. That file is per-clone and is
    not itself versioned, so a fresh clone does not inherit the exclusions and would offer the
    symlinks up for commit — the one thing the separation exists to prevent.
  • Those patterns must not carry a trailing slash. .scratch/ matches a directory and stops
    matching once the path is a symlink, which is exactly what happened here when the files moved.

The knowledge repository is private, so the section says so and makes clear nothing here depends
on it: you can build, test and contribute without it.

Separate from #71 deliberately — that one is about checkpointing and this is unrelated
documentation.

Note on CI

Check formatting fails on this branch, and it is not from this change: this branch is
documentation-only, cut from main, and main is currently red. ruff reports two
import-sorting errors in src/dolfinx_adjoint/blocks/interpolation.py and
src/dolfinx_adjoint/types/function.py, introduced with the nonmatching interpolation work.
Both are already fixed on the branch for #71, so merging that turns main green again.

🤖 Generated with Claude Code

The design records, specs, reference papers and agent memory now live in
dolfinx-adjoint-knowledge rather than here, which keeps this repository
free of files most contributors do not need but leaves no trace of where
they went.
Put it in the contributor guidelines rather than the README: it is
setup for people working on the project, not information someone
installing the package needs, and it sits naturally beside the existing
notes on what CI expects.
Covers linking the knowledge repository in, what an agent then picks up
automatically, where per-project agent memory lives, and where the skills
come from. Two things that are easy to get wrong are called out: the
linking step has to add the paths to .git/info/exclude, because that file
is per-clone and unversioned so a fresh clone would offer the symlinks up
for commit; and those patterns must not carry a trailing slash, which
matches a directory and silently stops matching a symlink.
@finsbergfinsberg changed the title Point developers at the knowledge repositoryDocument the knowledge repository and the agent setupAug 27, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@finsberg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Document the knowledge repository and the agent setup - #74

Open
finsberg wants to merge 1 commit into
mainfrom
docs/knowledge-repo
Open

Document the knowledge repository and the agent setup#74
finsberg wants to merge 1 commit into
mainfrom
docs/knowledge-repo

Conversation

@finsberg

@finsbergfinsberg commented Aug 27, 2026

Copy link
Copy Markdown
Member

The design records, specs, reference papers and agent memory now live in
dolfinx-adjoint-knowledge
rather than in this repository, which keeps this one free of files most contributors do not
need — but left no trace of where they went. This says where, and how to pick them up.

In the contributor guidelines rather than the README: it is setup for people working on the
project, not something someone installing the package needs, and it sits beside the existing
notes on what CI expects.

It covers linking the knowledge repository in, what a coding agent then picks up automatically,
where per-project agent memory lives, and where the repository-scoped skills come from.

Two things that are easy to get wrong are called out explicitly, because both fail quietly:

  • The linking step has to add the paths to .git/info/exclude. That file is per-clone and is
    not itself versioned, so a fresh clone does not inherit the exclusions and would offer the
    symlinks up for commit — the one thing the separation exists to prevent.
  • Those patterns must not carry a trailing slash. .scratch/ matches a directory and stops
    matching once the path is a symlink, which is exactly what happened here when the files moved.

The knowledge repository is private, so the section says so and makes clear nothing here depends
on it: you can build, test and contribute without it.

Separate from #71 deliberately — that one is about checkpointing and this is unrelated
documentation.

Note on CI

Check formatting fails on this branch, and it is not from this change: this branch is
documentation-only, cut from main, and main is currently red. ruff reports two
import-sorting errors in src/dolfinx_adjoint/blocks/interpolation.py and
src/dolfinx_adjoint/types/function.py, introduced with the nonmatching interpolation work.
Both are already fixed on the branch for #71, so merging that turns main green again.

🤖 Generated with Claude Code

The design records, specs, reference papers and agent memory now live in
dolfinx-adjoint-knowledge rather than here, which keeps this repository
free of files most contributors do not need but leaves no trace of where
they went.
Put it in the contributor guidelines rather than the README: it is
setup for people working on the project, not information someone
installing the package needs, and it sits naturally beside the existing
notes on what CI expects.
Covers linking the knowledge repository in, what an agent then picks up
automatically, where per-project agent memory lives, and where the skills
come from. Two things that are easy to get wrong are called out: the
linking step has to add the paths to .git/info/exclude, because that file
is per-clone and unversioned so a fresh clone would offer the symlinks up
for commit; and those patterns must not carry a trailing slash, which
matches a directory and silently stops matching a symlink.
@finsbergfinsberg changed the title Point developers at the knowledge repositoryDocument the knowledge repository and the agent setupAug 27, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@finsberg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Document the knowledge repository and the agent setup - #74

Open
finsberg wants to merge 1 commit into
mainfrom
docs/knowledge-repo
Open

Document the knowledge repository and the agent setup#74
finsberg wants to merge 1 commit into
mainfrom
docs/knowledge-repo

Conversation

@finsberg

@finsbergfinsberg commented Aug 27, 2026

Copy link
Copy Markdown
Member

The design records, specs, reference papers and agent memory now live in
dolfinx-adjoint-knowledge
rather than in this repository, which keeps this one free of files most contributors do not
need — but left no trace of where they went. This says where, and how to pick them up.

In the contributor guidelines rather than the README: it is setup for people working on the
project, not something someone installing the package needs, and it sits beside the existing
notes on what CI expects.

It covers linking the knowledge repository in, what a coding agent then picks up automatically,
where per-project agent memory lives, and where the repository-scoped skills come from.

Two things that are easy to get wrong are called out explicitly, because both fail quietly:

  • The linking step has to add the paths to .git/info/exclude. That file is per-clone and is
    not itself versioned, so a fresh clone does not inherit the exclusions and would offer the
    symlinks up for commit — the one thing the separation exists to prevent.
  • Those patterns must not carry a trailing slash. .scratch/ matches a directory and stops
    matching once the path is a symlink, which is exactly what happened here when the files moved.

The knowledge repository is private, so the section says so and makes clear nothing here depends
on it: you can build, test and contribute without it.

Separate from #71 deliberately — that one is about checkpointing and this is unrelated
documentation.

Note on CI

Check formatting fails on this branch, and it is not from this change: this branch is
documentation-only, cut from main, and main is currently red. ruff reports two
import-sorting errors in src/dolfinx_adjoint/blocks/interpolation.py and
src/dolfinx_adjoint/types/function.py, introduced with the nonmatching interpolation work.
Both are already fixed on the branch for #71, so merging that turns main green again.

🤖 Generated with Claude Code

The design records, specs, reference papers and agent memory now live in
dolfinx-adjoint-knowledge rather than here, which keeps this repository
free of files most contributors do not need but leaves no trace of where
they went.
Put it in the contributor guidelines rather than the README: it is
setup for people working on the project, not information someone
installing the package needs, and it sits naturally beside the existing
notes on what CI expects.
Covers linking the knowledge repository in, what an agent then picks up
automatically, where per-project agent memory lives, and where the skills
come from. Two things that are easy to get wrong are called out: the
linking step has to add the paths to .git/info/exclude, because that file
is per-clone and unversioned so a fresh clone would offer the symlinks up
for commit; and those patterns must not carry a trailing slash, which
matches a directory and silently stops matching a symlink.
@finsbergfinsberg changed the title Point developers at the knowledge repositoryDocument the knowledge repository and the agent setupAug 27, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@finsberg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Document the knowledge repository and the agent setup - #74

Open
finsberg wants to merge 1 commit into
mainfrom
docs/knowledge-repo
Open

Document the knowledge repository and the agent setup#74
finsberg wants to merge 1 commit into
mainfrom
docs/knowledge-repo

Conversation

@finsberg

@finsbergfinsberg commented Aug 27, 2026

Copy link
Copy Markdown
Member

The design records, specs, reference papers and agent memory now live in
dolfinx-adjoint-knowledge
rather than in this repository, which keeps this one free of files most contributors do not
need — but left no trace of where they went. This says where, and how to pick them up.

In the contributor guidelines rather than the README: it is setup for people working on the
project, not something someone installing the package needs, and it sits beside the existing
notes on what CI expects.

It covers linking the knowledge repository in, what a coding agent then picks up automatically,
where per-project agent memory lives, and where the repository-scoped skills come from.

Two things that are easy to get wrong are called out explicitly, because both fail quietly:

  • The linking step has to add the paths to .git/info/exclude. That file is per-clone and is
    not itself versioned, so a fresh clone does not inherit the exclusions and would offer the
    symlinks up for commit — the one thing the separation exists to prevent.
  • Those patterns must not carry a trailing slash. .scratch/ matches a directory and stops
    matching once the path is a symlink, which is exactly what happened here when the files moved.

The knowledge repository is private, so the section says so and makes clear nothing here depends
on it: you can build, test and contribute without it.

Separate from #71 deliberately — that one is about checkpointing and this is unrelated
documentation.

Note on CI

Check formatting fails on this branch, and it is not from this change: this branch is
documentation-only, cut from main, and main is currently red. ruff reports two
import-sorting errors in src/dolfinx_adjoint/blocks/interpolation.py and
src/dolfinx_adjoint/types/function.py, introduced with the nonmatching interpolation work.
Both are already fixed on the branch for #71, so merging that turns main green again.

🤖 Generated with Claude Code

The design records, specs, reference papers and agent memory now live in
dolfinx-adjoint-knowledge rather than here, which keeps this repository
free of files most contributors do not need but leaves no trace of where
they went.
Put it in the contributor guidelines rather than the README: it is
setup for people working on the project, not information someone
installing the package needs, and it sits naturally beside the existing
notes on what CI expects.
Covers linking the knowledge repository in, what an agent then picks up
automatically, where per-project agent memory lives, and where the skills
come from. Two things that are easy to get wrong are called out: the
linking step has to add the paths to .git/info/exclude, because that file
is per-clone and unversioned so a fresh clone would offer the symlinks up
for commit; and those patterns must not carry a trailing slash, which
matches a directory and silently stops matching a symlink.
@finsbergfinsberg changed the title Point developers at the knowledge repositoryDocument the knowledge repository and the agent setupAug 27, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@finsberg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Document the knowledge repository and the agent setup - #74

Open
finsberg wants to merge 1 commit into
mainfrom
docs/knowledge-repo
Open

Document the knowledge repository and the agent setup#74
finsberg wants to merge 1 commit into
mainfrom
docs/knowledge-repo

Conversation

@finsberg

@finsbergfinsberg commented Aug 27, 2026

Copy link
Copy Markdown
Member

The design records, specs, reference papers and agent memory now live in
dolfinx-adjoint-knowledge
rather than in this repository, which keeps this one free of files most contributors do not
need — but left no trace of where they went. This says where, and how to pick them up.

In the contributor guidelines rather than the README: it is setup for people working on the
project, not something someone installing the package needs, and it sits beside the existing
notes on what CI expects.

It covers linking the knowledge repository in, what a coding agent then picks up automatically,
where per-project agent memory lives, and where the repository-scoped skills come from.

Two things that are easy to get wrong are called out explicitly, because both fail quietly:

  • The linking step has to add the paths to .git/info/exclude. That file is per-clone and is
    not itself versioned, so a fresh clone does not inherit the exclusions and would offer the
    symlinks up for commit — the one thing the separation exists to prevent.
  • Those patterns must not carry a trailing slash. .scratch/ matches a directory and stops
    matching once the path is a symlink, which is exactly what happened here when the files moved.

The knowledge repository is private, so the section says so and makes clear nothing here depends
on it: you can build, test and contribute without it.

Separate from #71 deliberately — that one is about checkpointing and this is unrelated
documentation.

Note on CI

Check formatting fails on this branch, and it is not from this change: this branch is
documentation-only, cut from main, and main is currently red. ruff reports two
import-sorting errors in src/dolfinx_adjoint/blocks/interpolation.py and
src/dolfinx_adjoint/types/function.py, introduced with the nonmatching interpolation work.
Both are already fixed on the branch for #71, so merging that turns main green again.

🤖 Generated with Claude Code

The design records, specs, reference papers and agent memory now live in
dolfinx-adjoint-knowledge rather than here, which keeps this repository
free of files most contributors do not need but leaves no trace of where
they went.
Put it in the contributor guidelines rather than the README: it is
setup for people working on the project, not information someone
installing the package needs, and it sits naturally beside the existing
notes on what CI expects.
Covers linking the knowledge repository in, what an agent then picks up
automatically, where per-project agent memory lives, and where the skills
come from. Two things that are easy to get wrong are called out: the
linking step has to add the paths to .git/info/exclude, because that file
is per-clone and unversioned so a fresh clone would offer the symlinks up
for commit; and those patterns must not carry a trailing slash, which
matches a directory and silently stops matching a symlink.
@finsbergfinsberg changed the title Point developers at the knowledge repositoryDocument the knowledge repository and the agent setupAug 27, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@finsberg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Document the knowledge repository and the agent setup - #74

Open
finsberg wants to merge 1 commit into
mainfrom
docs/knowledge-repo
Open

Document the knowledge repository and the agent setup#74
finsberg wants to merge 1 commit into
mainfrom
docs/knowledge-repo

Conversation

@finsberg

@finsbergfinsberg commented Aug 27, 2026

Copy link
Copy Markdown
Member

The design records, specs, reference papers and agent memory now live in
dolfinx-adjoint-knowledge
rather than in this repository, which keeps this one free of files most contributors do not
need — but left no trace of where they went. This says where, and how to pick them up.

In the contributor guidelines rather than the README: it is setup for people working on the
project, not something someone installing the package needs, and it sits beside the existing
notes on what CI expects.

It covers linking the knowledge repository in, what a coding agent then picks up automatically,
where per-project agent memory lives, and where the repository-scoped skills come from.

Two things that are easy to get wrong are called out explicitly, because both fail quietly:

  • The linking step has to add the paths to .git/info/exclude. That file is per-clone and is
    not itself versioned, so a fresh clone does not inherit the exclusions and would offer the
    symlinks up for commit — the one thing the separation exists to prevent.
  • Those patterns must not carry a trailing slash. .scratch/ matches a directory and stops
    matching once the path is a symlink, which is exactly what happened here when the files moved.

The knowledge repository is private, so the section says so and makes clear nothing here depends
on it: you can build, test and contribute without it.

Separate from #71 deliberately — that one is about checkpointing and this is unrelated
documentation.

Note on CI

Check formatting fails on this branch, and it is not from this change: this branch is
documentation-only, cut from main, and main is currently red. ruff reports two
import-sorting errors in src/dolfinx_adjoint/blocks/interpolation.py and
src/dolfinx_adjoint/types/function.py, introduced with the nonmatching interpolation work.
Both are already fixed on the branch for #71, so merging that turns main green again.

🤖 Generated with Claude Code

The design records, specs, reference papers and agent memory now live in
dolfinx-adjoint-knowledge rather than here, which keeps this repository
free of files most contributors do not need but leaves no trace of where
they went.
Put it in the contributor guidelines rather than the README: it is
setup for people working on the project, not information someone
installing the package needs, and it sits naturally beside the existing
notes on what CI expects.
Covers linking the knowledge repository in, what an agent then picks up
automatically, where per-project agent memory lives, and where the skills
come from. Two things that are easy to get wrong are called out: the
linking step has to add the paths to .git/info/exclude, because that file
is per-clone and unversioned so a fresh clone would offer the symlinks up
for commit; and those patterns must not carry a trailing slash, which
matches a directory and silently stops matching a symlink.
@finsbergfinsberg changed the title Point developers at the knowledge repositoryDocument the knowledge repository and the agent setupAug 27, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@finsberg