Updated links
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
<title>CVMIS: Charlwood, Andrew</title>
|
<title>CVMIS: Charlwood, Andrew</title>
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Inter+Tight:wght@400;500;600&family=Inter:wght@400;500;600&family=Geist+Mono:wght@400;500&display=swap" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap" rel="stylesheet">
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
<script defer src="https://analytics.charlwood.xyz/script.js" data-website-id="075e79d5-433a-4192-91c0-0b5b9c4334ab"></script>
|
<script defer src="https://analytics.charlwood.xyz/script.js" data-website-id="075e79d5-433a-4192-91c0-0b5b9c4334ab"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ export function CardHeader({ dotColor, title, rightText }: CardHeaderProps) {
|
|||||||
textTransform: 'none',
|
textTransform: 'none',
|
||||||
letterSpacing: 'normal',
|
letterSpacing: 'normal',
|
||||||
color: 'var(--text-tertiary)',
|
color: 'var(--text-tertiary)',
|
||||||
fontFamily: "'Geist Mono', monospace",
|
fontFamily: 'var(--font-geist-mono)',
|
||||||
marginLeft: 'auto',
|
marginLeft: 'auto',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -233,7 +233,7 @@ export function DashboardLayout() {
|
|||||||
case 'download': {
|
case 'download': {
|
||||||
// For now, open the CV file or trigger a download
|
// For now, open the CV file or trigger a download
|
||||||
// This can be wired to an actual PDF when available
|
// This can be wired to an actual PDF when available
|
||||||
window.open('/References/CV_v4.md', '_blank')
|
window.open('/Andrew_Charlwood_CV.pdf', '_blank')
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
case 'panel': {
|
case 'panel': {
|
||||||
|
|||||||
@@ -252,7 +252,7 @@ export function LoginScreen({ onComplete }: LoginScreenProps) {
|
|||||||
style={{
|
style={{
|
||||||
width: '100%',
|
width: '100%',
|
||||||
padding: '9px 11px',
|
padding: '9px 11px',
|
||||||
fontFamily: "'Geist Mono', 'Fira Code', monospace",
|
fontFamily: 'var(--font-geist-mono)',
|
||||||
fontSize: 'clamp(13px, 1.2vw, 15px)',
|
fontSize: 'clamp(13px, 1.2vw, 15px)',
|
||||||
backgroundColor: activeField === 'username' ? 'var(--surface, #FFFFFF)' : 'var(--bg-dashboard, #F0F5F4)',
|
backgroundColor: activeField === 'username' ? 'var(--surface, #FFFFFF)' : 'var(--bg-dashboard, #F0F5F4)',
|
||||||
border: activeField === 'username' ? '1px solid var(--accent, #0D6E6E)' : '1px solid var(--border-light, #E4EDEB)',
|
border: activeField === 'username' ? '1px solid var(--accent, #0D6E6E)' : '1px solid var(--border-light, #E4EDEB)',
|
||||||
@@ -294,7 +294,7 @@ export function LoginScreen({ onComplete }: LoginScreenProps) {
|
|||||||
style={{
|
style={{
|
||||||
width: '100%',
|
width: '100%',
|
||||||
padding: '9px 11px',
|
padding: '9px 11px',
|
||||||
fontFamily: "'Geist Mono', 'Fira Code', monospace",
|
fontFamily: 'var(--font-geist-mono)',
|
||||||
fontSize: 'clamp(13px, 1.2vw, 15px)',
|
fontSize: 'clamp(13px, 1.2vw, 15px)',
|
||||||
backgroundColor: activeField === 'password' ? 'var(--surface, #FFFFFF)' : 'var(--bg-dashboard, #F0F5F4)',
|
backgroundColor: activeField === 'password' ? 'var(--surface, #FFFFFF)' : 'var(--bg-dashboard, #F0F5F4)',
|
||||||
border: activeField === 'password' ? '1px solid var(--accent, #0D6E6E)' : '1px solid var(--border-light, #E4EDEB)',
|
border: activeField === 'password' ? '1px solid var(--accent, #0D6E6E)' : '1px solid var(--border-light, #E4EDEB)',
|
||||||
@@ -370,7 +370,7 @@ export function LoginScreen({ onComplete }: LoginScreenProps) {
|
|||||||
/>
|
/>
|
||||||
<span
|
<span
|
||||||
style={{
|
style={{
|
||||||
fontFamily: "var(--font-geist-mono, 'Geist Mono', monospace)",
|
fontFamily: 'var(--font-geist-mono)',
|
||||||
fontSize: '12px',
|
fontSize: '12px',
|
||||||
color: connectionState === 'connected' ? 'var(--success, #059669)' : 'var(--alert, #DC2626)',
|
color: connectionState === 'connected' ? 'var(--success, #059669)' : 'var(--alert, #DC2626)',
|
||||||
transition: prefersReducedMotion ? 'none' : 'color 300ms ease',
|
transition: prefersReducedMotion ? 'none' : 'color 300ms ease',
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ export function MobileOverviewHeader({ onSearchClick }: MobileOverviewHeaderProp
|
|||||||
<div style={{ fontSize: '15px', fontWeight: 700, color: 'var(--text-primary)' }}>
|
<div style={{ fontSize: '15px', fontWeight: 700, color: 'var(--text-primary)' }}>
|
||||||
CHARLWOOD, Andrew
|
CHARLWOOD, Andrew
|
||||||
</div>
|
</div>
|
||||||
<div style={{ fontSize: '12px', fontFamily: 'Geist Mono, monospace', color: 'var(--text-secondary)' }}>
|
<div style={{ fontSize: '12px', fontFamily: 'var(--font-geist-mono)', color: 'var(--text-secondary)' }}>
|
||||||
{sidebarCopy.roleTitle}
|
{sidebarCopy.roleTitle}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -130,7 +130,7 @@ export function MobileOverviewHeader({ onSearchClick }: MobileOverviewHeaderProp
|
|||||||
].map(({ label, value, mono }) => (
|
].map(({ label, value, mono }) => (
|
||||||
<div key={label} style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', fontSize: '13px', padding: '2px 0' }}>
|
<div key={label} style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', fontSize: '13px', padding: '2px 0' }}>
|
||||||
<span style={{ color: 'var(--text-tertiary)' }}>{label}</span>
|
<span style={{ color: 'var(--text-tertiary)' }}>{label}</span>
|
||||||
<span style={{ color: 'var(--text-primary)', fontWeight: 500, textAlign: 'right', fontFamily: mono ? 'Geist Mono, monospace' : undefined, fontSize: mono ? '12px' : undefined, letterSpacing: mono ? '0.12em' : undefined }}>
|
<span style={{ color: 'var(--text-primary)', fontWeight: 500, textAlign: 'right', fontFamily: mono ? 'var(--font-geist-mono)' : undefined, fontSize: mono ? '12px' : undefined, letterSpacing: mono ? '0.12em' : undefined }}>
|
||||||
{value}
|
{value}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -167,7 +167,7 @@ export function MobileOverviewHeader({ onSearchClick }: MobileOverviewHeaderProp
|
|||||||
<div style={{ display: 'flex', flexDirection: 'column', gap: '6px' }}>
|
<div style={{ display: 'flex', flexDirection: 'column', gap: '6px' }}>
|
||||||
{/* Download CV — full width */}
|
{/* Download CV — full width */}
|
||||||
<a
|
<a
|
||||||
href="/References/CV_v4.md"
|
href="/Andrew_Charlwood_CV.pdf"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
aria-label="Download CV"
|
aria-label="Download CV"
|
||||||
@@ -214,7 +214,7 @@ export function MobileOverviewHeader({ onSearchClick }: MobileOverviewHeaderProp
|
|||||||
<Send size={16} />
|
<Send size={16} />
|
||||||
</button>
|
</button>
|
||||||
<a
|
<a
|
||||||
href="https://linkedin.com/in/andycharlwood"
|
href="https://www.linkedin.com/in/andrewcharlwood/"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
aria-label="LinkedIn profile"
|
aria-label="LinkedIn profile"
|
||||||
@@ -233,7 +233,7 @@ export function MobileOverviewHeader({ onSearchClick }: MobileOverviewHeaderProp
|
|||||||
<Linkedin size={16} />
|
<Linkedin size={16} />
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a
|
||||||
href="https://github.com/andycharlwood"
|
href="https://github.com/andrewcharlwood"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
aria-label="GitHub profile"
|
aria-label="GitHub profile"
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ export function PhoneCaptcha({ phone }: PhoneCaptchaProps) {
|
|||||||
style={{
|
style={{
|
||||||
fontSize: '11px',
|
fontSize: '11px',
|
||||||
color: error ? 'var(--alert, #e53935)' : 'var(--text-tertiary)',
|
color: error ? 'var(--alert, #e53935)' : 'var(--text-tertiary)',
|
||||||
fontFamily: 'Geist Mono, monospace',
|
fontFamily: 'var(--font-geist-mono)',
|
||||||
transition: 'color 150ms',
|
transition: 'color 150ms',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
@@ -99,7 +99,7 @@ export function PhoneCaptcha({ phone }: PhoneCaptchaProps) {
|
|||||||
width: '36px',
|
width: '36px',
|
||||||
padding: '3px 4px',
|
padding: '3px 4px',
|
||||||
fontSize: '12px',
|
fontSize: '12px',
|
||||||
fontFamily: 'Geist Mono, monospace',
|
fontFamily: 'var(--font-geist-mono)',
|
||||||
border: `1px solid ${error ? 'var(--alert, #e53935)' : 'var(--border)'}`,
|
border: `1px solid ${error ? 'var(--alert, #e53935)' : 'var(--border)'}`,
|
||||||
borderRadius: '4px',
|
borderRadius: '4px',
|
||||||
background: 'var(--surface)',
|
background: 'var(--surface)',
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ function SkillRow({ skill, yearsSuffix, onClick, onHighlight, isDimmedByFocus =
|
|||||||
style={{
|
style={{
|
||||||
fontSize: '12px',
|
fontSize: '12px',
|
||||||
color: 'var(--text-tertiary)',
|
color: 'var(--text-tertiary)',
|
||||||
fontFamily: '"Geist Mono", monospace',
|
fontFamily: 'var(--font-geist-mono)',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{skill.frequency} · {skill.yearsOfExperience} {yearsSuffix}
|
{skill.frequency} · {skill.yearsOfExperience} {yearsSuffix}
|
||||||
@@ -182,7 +182,7 @@ function CategorySection({
|
|||||||
style={{
|
style={{
|
||||||
fontSize: '11px',
|
fontSize: '11px',
|
||||||
color: 'var(--text-tertiary)',
|
color: 'var(--text-tertiary)',
|
||||||
fontFamily: '"Geist Mono", monospace',
|
fontFamily: 'var(--font-geist-mono)',
|
||||||
whiteSpace: 'nowrap',
|
whiteSpace: 'nowrap',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -310,7 +310,7 @@ export default function Sidebar({ activeSection, onNavigate, onSearchClick }: Si
|
|||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
fontSize: '13px',
|
fontSize: '13px',
|
||||||
fontFamily: 'Geist Mono, monospace',
|
fontFamily: 'var(--font-geist-mono)',
|
||||||
fontWeight: 400,
|
fontWeight: 400,
|
||||||
color: 'var(--text-secondary)',
|
color: 'var(--text-secondary)',
|
||||||
marginTop: '2px',
|
marginTop: '2px',
|
||||||
@@ -341,7 +341,7 @@ export default function Sidebar({ activeSection, onNavigate, onSearchClick }: Si
|
|||||||
style={{
|
style={{
|
||||||
color: 'var(--text-primary)',
|
color: 'var(--text-primary)',
|
||||||
fontWeight: 500,
|
fontWeight: 500,
|
||||||
fontFamily: 'Geist Mono, monospace',
|
fontFamily: 'var(--font-geist-mono)',
|
||||||
fontSize: '12px',
|
fontSize: '12px',
|
||||||
letterSpacing: '0.12em',
|
letterSpacing: '0.12em',
|
||||||
}}
|
}}
|
||||||
@@ -434,7 +434,7 @@ export default function Sidebar({ activeSection, onNavigate, onSearchClick }: Si
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a
|
<a
|
||||||
href="/References/CV_v4.md"
|
href="/Andrew_Charlwood_CV.pdf"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
style={{
|
style={{
|
||||||
@@ -543,7 +543,7 @@ export default function Sidebar({ activeSection, onNavigate, onSearchClick }: Si
|
|||||||
</button>
|
</button>
|
||||||
<div style={{ display: 'flex', gap: '6px' }}>
|
<div style={{ display: 'flex', gap: '6px' }}>
|
||||||
<a
|
<a
|
||||||
href="https://linkedin.com/in/andycharlwood"
|
href="https://www.linkedin.com/in/andrewcharlwood/"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
className="sidebar-control"
|
className="sidebar-control"
|
||||||
@@ -568,7 +568,7 @@ export default function Sidebar({ activeSection, onNavigate, onSearchClick }: Si
|
|||||||
LinkedIn
|
LinkedIn
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a
|
||||||
href="https://github.com/andycharlwood"
|
href="https://github.com/andrewcharlwood"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
className="sidebar-control"
|
className="sidebar-control"
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ export function SkillsAllDetail({ category }: SkillsAllDetailProps) {
|
|||||||
style={{
|
style={{
|
||||||
fontSize: '10px',
|
fontSize: '10px',
|
||||||
color: 'var(--text-tertiary)',
|
color: 'var(--text-tertiary)',
|
||||||
fontFamily: '"Geist Mono", monospace',
|
fontFamily: 'var(--font-geist-mono)',
|
||||||
whiteSpace: 'nowrap',
|
whiteSpace: 'nowrap',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
@@ -193,7 +193,7 @@ function SkillRow({ skill, yearsSuffix, onClick }: SkillRowProps) {
|
|||||||
style={{
|
style={{
|
||||||
fontSize: '10.5px',
|
fontSize: '10.5px',
|
||||||
color: 'var(--text-tertiary)',
|
color: 'var(--text-tertiary)',
|
||||||
fontFamily: '"Geist Mono", monospace',
|
fontFamily: 'var(--font-geist-mono)',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{skill.frequency} · {skill.yearsOfExperience} {yearsSuffix}
|
{skill.frequency} · {skill.yearsOfExperience} {yearsSuffix}
|
||||||
|
|||||||
+1
-1
@@ -9,7 +9,7 @@ export const patient: Patient = {
|
|||||||
address: 'Norwich, UK',
|
address: 'Norwich, UK',
|
||||||
phone: '07795553088',
|
phone: '07795553088',
|
||||||
email: 'andy@charlwood.xyz',
|
email: 'andy@charlwood.xyz',
|
||||||
linkedin: 'linkedin.com/in/andycharlwood',
|
linkedin: 'linkedin.com/in/andrewcharlwood',
|
||||||
status: 'Active',
|
status: 'Active',
|
||||||
badge: 'Open to opportunities',
|
badge: 'Open to opportunities',
|
||||||
qualification: 'MPharm (Hons) 2:1',
|
qualification: 'MPharm (Hons) 2:1',
|
||||||
|
|||||||
@@ -120,14 +120,14 @@ export const profileContent: DeepReadonly<ProfileContent> = {
|
|||||||
subtitle: 'Professional profile',
|
subtitle: 'Professional profile',
|
||||||
keywords: 'view linkedin professional profile social networking',
|
keywords: 'view linkedin professional profile social networking',
|
||||||
type: 'link',
|
type: 'link',
|
||||||
url: 'https://linkedin.com/in/andycharlwood',
|
url: 'https://www.linkedin.com/in/andrewcharlwood/',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'View Projects',
|
title: 'View Projects',
|
||||||
subtitle: 'GitHub & portfolio',
|
subtitle: 'GitHub & portfolio',
|
||||||
keywords: 'view projects github portfolio code repositories open source',
|
keywords: 'view projects github portfolio code repositories open source',
|
||||||
type: 'link',
|
type: 'link',
|
||||||
url: 'https://github.com/andycharlwood',
|
url: 'https://github.com/andrewcharlwood',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+31
-3
@@ -66,6 +66,34 @@
|
|||||||
font-display: swap;
|
font-display: swap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Monospace — Interval Mono */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Interval Mono';
|
||||||
|
src: url('/Fonts/IntervalMono/WOFF/TBJInterval-Light.woff2') format('woff2'),
|
||||||
|
url('/Fonts/IntervalMono/WOFF/TBJInterval-Light.woff') format('woff');
|
||||||
|
font-weight: 300;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Interval Mono';
|
||||||
|
src: url('/Fonts/IntervalMono/WOFF/TBJInterval-Regular.woff2') format('woff2'),
|
||||||
|
url('/Fonts/IntervalMono/WOFF/TBJInterval-Regular.woff') format('woff');
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Interval Mono';
|
||||||
|
src: url('/Fonts/IntervalMono/WOFF/TBJInterval-Bold.woff2') format('woff2'),
|
||||||
|
url('/Fonts/IntervalMono/WOFF/TBJInterval-Bold.woff') format('woff');
|
||||||
|
font-weight: 700;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
/* Premium UI fonts — Blumir (alternative) */
|
/* Premium UI fonts — Blumir (alternative) */
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Blumir';
|
font-family: 'Blumir';
|
||||||
@@ -89,8 +117,8 @@
|
|||||||
--muted: #94A3B8;
|
--muted: #94A3B8;
|
||||||
--card-bg: #FFFFFF;
|
--card-bg: #FFFFFF;
|
||||||
--radius: 16px;
|
--radius: 16px;
|
||||||
--font-primary: 'Plus Jakarta Sans', system-ui, sans-serif;
|
--font-primary: 'Elvaro Grotesque', system-ui, sans-serif;
|
||||||
--font-secondary: 'Inter Tight', system-ui, sans-serif;
|
--font-secondary: 'Blumir', system-ui, sans-serif;
|
||||||
|
|
||||||
/* Typography — Elvaro Grotesque primary, Blumir alternative */
|
/* Typography — Elvaro Grotesque primary, Blumir alternative */
|
||||||
--font-ui: 'Elvaro Grotesque', system-ui, sans-serif;
|
--font-ui: 'Elvaro Grotesque', system-ui, sans-serif;
|
||||||
@@ -131,7 +159,7 @@
|
|||||||
--shadow-md: 0 2px 8px rgba(26,43,42,0.08);
|
--shadow-md: 0 2px 8px rgba(26,43,42,0.08);
|
||||||
--shadow-lg: 0 8px 32px rgba(26,43,42,0.12);
|
--shadow-lg: 0 8px 32px rgba(26,43,42,0.12);
|
||||||
--font-body: var(--font-ui);
|
--font-body: var(--font-ui);
|
||||||
--font-mono-dashboard: 'Geist Mono', 'Fira Code', monospace;
|
--font-mono-dashboard: 'Interval Mono', 'Fira Code', monospace;
|
||||||
|
|
||||||
/* Detail panel */
|
/* Detail panel */
|
||||||
--panel-narrow: 400px;
|
--panel-narrow: 400px;
|
||||||
|
|||||||
+1
-1
@@ -72,7 +72,7 @@ export default {
|
|||||||
mono: ['Fira Code', 'monospace'],
|
mono: ['Fira Code', 'monospace'],
|
||||||
ui: ['Elvaro Grotesque', 'system-ui', 'sans-serif'],
|
ui: ['Elvaro Grotesque', 'system-ui', 'sans-serif'],
|
||||||
'ui-alt': ['Blumir', 'system-ui', 'sans-serif'],
|
'ui-alt': ['Blumir', 'system-ui', 'sans-serif'],
|
||||||
geist: ['Geist Mono', 'Fira Code', 'monospace'],
|
geist: ['Interval Mono', 'Fira Code', 'monospace'],
|
||||||
},
|
},
|
||||||
boxShadow: {
|
boxShadow: {
|
||||||
// GP System three-tier shadow system
|
// GP System three-tier shadow system
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
{
|
|
||||||
"cachedGrowthBookFeatures": {
|
|
||||||
"tengu_mcp_tool_search": false,
|
|
||||||
"tengu_scratch": false,
|
|
||||||
"tengu_amber_flint": true,
|
|
||||||
"tengu_disable_bypass_permissions_mode": false,
|
|
||||||
"tengu_1p_event_batch_config": {
|
|
||||||
"scheduledDelayMillis": 5000,
|
|
||||||
"maxExportBatchSize": 200,
|
|
||||||
"maxQueueSize": 8192
|
|
||||||
},
|
|
||||||
"tengu_event_sampling_config": {},
|
|
||||||
"tengu_log_segment_events": false,
|
|
||||||
"tengu_log_datadog_events": true,
|
|
||||||
"tengu_marble_anvil": true,
|
|
||||||
"tengu_tool_pear": false,
|
|
||||||
"tengu_scarf_coffee": false,
|
|
||||||
"tengu_keybinding_customization_release": true,
|
|
||||||
"tengu_penguins_enabled": true,
|
|
||||||
"tengu_thinkback": false,
|
|
||||||
"tengu_chomp_inflection": true
|
|
||||||
},
|
|
||||||
"firstStartTime": "2026-02-18T16:02:41.493Z",
|
|
||||||
"userID": "00a55e1c90694b4627ba826b33cf7ced401ac04b89f0d60336d6762b6f4f70cb",
|
|
||||||
"opusProMigrationComplete": true,
|
|
||||||
"sonnet1m45MigrationComplete": true,
|
|
||||||
"clientDataCache": {
|
|
||||||
"data": null,
|
|
||||||
"timestamp": 1771430561577
|
|
||||||
},
|
|
||||||
"cachedChromeExtensionInstalled": false,
|
|
||||||
"changelogLastFetched": 1771430561701
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"firstStartTime": "2026-02-18T16:02:41.493Z"
|
|
||||||
}
|
|
||||||
-1730
File diff suppressed because it is too large
Load Diff
@@ -1,175 +0,0 @@
|
|||||||
2026-02-18T16:02:41.496Z [ERROR] Failed to save config with lock: Error: ENOENT: no such file or directory, lstat '/home/andy/github/portfolio/~/.claude/projects/.claude.json'
|
|
||||||
2026-02-18T16:02:41.497Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561497
|
|
||||||
2026-02-18T16:02:41.497Z [DEBUG] Setting permissions for new file: 600
|
|
||||||
2026-02-18T16:02:41.497Z [DEBUG] Temp file written successfully, size: 50 bytes
|
|
||||||
2026-02-18T16:02:41.497Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561497 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.497Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.497Z [DEBUG] [init] configureGlobalMTLS starting
|
|
||||||
2026-02-18T16:02:41.497Z [DEBUG] [init] configureGlobalMTLS complete
|
|
||||||
2026-02-18T16:02:41.497Z [DEBUG] [init] configureGlobalAgents starting
|
|
||||||
2026-02-18T16:02:41.497Z [DEBUG] [init] configureGlobalAgents complete
|
|
||||||
2026-02-18T16:02:41.500Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561500
|
|
||||||
2026-02-18T16:02:41.500Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.500Z [DEBUG] Temp file written successfully, size: 130 bytes
|
|
||||||
2026-02-18T16:02:41.500Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.500Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561500 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.500Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.505Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561505
|
|
||||||
2026-02-18T16:02:41.505Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.505Z [DEBUG] Temp file written successfully, size: 166 bytes
|
|
||||||
2026-02-18T16:02:41.505Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.505Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561505 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.505Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.507Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561507
|
|
||||||
2026-02-18T16:02:41.507Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.507Z [DEBUG] Temp file written successfully, size: 205 bytes
|
|
||||||
2026-02-18T16:02:41.507Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.507Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561507 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.507Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.515Z [DEBUG] Applying permission update: Adding 54 allow rule(s) to destination 'localSettings': ["Bash(powershell -Command \"$lines = Get-Content ''4-vitals-monitor.html''; $before = $lines[0..1757]; $after = $lines[2028..\\($lines.Length-1\\)]; \\($before + $after\\) | Set-Content ''4-vitals-monitor.html'' -Encoding UTF8\")","Bash(powershell -Command \"$lines = Get-Content ''4-vitals-monitor.html''; $before = $lines[0..1757]; $after = $lines[2028..\\($lines.Length-1\\)]; $result = $before + $after; $result | Set-Content ''4-vitals-monitor.html'' -Encoding UTF8\")","Bash(powershell -ExecutionPolicy Bypass -File:*)","Bash(del \"C:\\\\Users\\\\Andy\\\\Ralph Local\\\\Tasks\\\\cv-4-vitals-monitor\\\\remove-lines.ps1\")","Bash(start \"\" \"C:\\\\Users\\\\Andy\\\\Ralph Local\\\\Tasks\\\\cv-4-vitals-monitor\\\\4-vitals-monitor.html\")","Bash(npx skills find:*)","WebSearch","Bash(ls \"C:\\\\Users\\\\Andy\\\\Ralph Local\\\\Tasks\\\\New CV website\\\\designs\"\" 2>nul || echo \"Directory does not exist \")","Bash(npm run typecheck:*)","Bash(npm run dev:*)","Bash(npm run build:*)","Bash(dir:*)","mcp__playwright__browser_snapshot","mcp__playwright__browser_navigate","mcp__playwright__browser_take_screenshot","Bash(npm run lint:*)","Bash(curl:*)","mcp__playwright__browser_click","mcp__playwright__browser_wait_for","mcp__playwright__browser_evaluate","Bash(git add:*)","Bash(git commit -m \"$\\(cat <<''EOF''\nTask 4: Rebuild PatientBanner with premium fonts, tooltip, and animations\n\n- Replace font-inter with font-ui \\(Elvaro Grotesque\\) throughout banner\n- Add custom NHSNumberWithTooltip with Framer Motion animated reveal\n- Add AnimatePresence crossfade between full/condensed banner states\n- Animate mobile overflow menu enter/exit\n- Add SkipButton to App.tsx for boot/ECG phase skip\n- Add shadow-pmr-banner, focus ring styles, prefers-reduced-motion support\n- Fix mobile banner to use patient data instead of hardcoded values\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\nEOF\n\\)\")","Bash(git commit:*)","Bash(ls:*)","Bash(tasklist:*)","Bash(npx -y serve -l 3333 .)","Bash(npx serve:*)","Bash(timeout /t 3 /nobreak)","Bash(jq:*)","Bash(git stash:*)","Bash(npx tsc:*)","mcp__context7__resolve-library-id","Bash(wc:*)","Bash(python3:*)","Bash(pip install:*)","Bash(python scripts/generate_demo_data.py:*)","Bash(sqlite3:*)","Bash(python:*)","Bash(grep:*)","WebFetch(domain:www.embla-carousel.com)","Bash(npm ls:*)","Bash(npm install:*)","mcp__plugin_playwright_playwright__browser_navigate","mcp__plugin_playwright_playwright__browser_take_screenshot","mcp__plugin_playwright_playwright__browser_click","mcp__plugin_playwright_playwright__browser_wait_for","mcp__plugin_playwright_playwright__browser_snapshot","mcp__plugin_playwright_playwright__browser_resize","mcp__plugin_playwright_playwright__browser_evaluate","mcp__plugin_playwright_playwright__browser_press_key","Bash(npx eslint:*)","Bash(git checkout:*)","mcp__plugin_playwright_playwright__browser_hover","mcp__plugin_playwright_playwright__browser_run_code"]
|
|
||||||
2026-02-18T16:02:41.515Z [DEBUG] [STARTUP] Loading MCP configs...
|
|
||||||
2026-02-18T16:02:41.540Z [DEBUG] [ToolSearch:optimistic] mode=tst-auto, ENABLE_TOOL_SEARCH=undefined, result=true
|
|
||||||
2026-02-18T16:02:41.540Z [DEBUG] [STARTUP] Running setup()...
|
|
||||||
2026-02-18T16:02:41.547Z [DEBUG] [TeammateModeSnapshot] Captured from config: auto
|
|
||||||
2026-02-18T16:02:41.548Z [DEBUG] Loading skills from: managed=/etc/claude-code/.claude/skills, user=~/.claude/projects/skills, project=[/home/andy/github/portfolio/.claude/skills]
|
|
||||||
2026-02-18T16:02:41.557Z [DEBUG] Error log sink initialized
|
|
||||||
2026-02-18T16:02:41.571Z [DEBUG] [STARTUP] setup() completed in 31ms
|
|
||||||
2026-02-18T16:02:41.571Z [DEBUG] [STARTUP] Loading commands and agents...
|
|
||||||
2026-02-18T16:02:41.574Z [DEBUG] Loaded 7 unique skills (7 unconditional, 0 conditional, managed: 0, user: 0, project: 7, additional: 0, legacy commands: 0)
|
|
||||||
2026-02-18T16:02:41.576Z [DEBUG] [Claude in Chrome] Found chrome profiles: Default
|
|
||||||
2026-02-18T16:02:41.576Z [DEBUG] Found 0 plugins (0 enabled, 0 disabled)
|
|
||||||
2026-02-18T16:02:41.576Z [DEBUG] getPluginSkills: Processing 0 enabled plugins
|
|
||||||
2026-02-18T16:02:41.576Z [DEBUG] Total plugin skills loaded: 0
|
|
||||||
2026-02-18T16:02:41.576Z [DEBUG] Total plugin commands loaded: 0
|
|
||||||
2026-02-18T16:02:41.576Z [DEBUG] Registered 0 hooks from 0 plugins
|
|
||||||
2026-02-18T16:02:41.576Z [DEBUG] Total plugin agents loaded: 0
|
|
||||||
2026-02-18T16:02:41.577Z [DEBUG] getSkills returning: 7 skill dir commands, 0 plugin skills, 2 bundled skills
|
|
||||||
2026-02-18T16:02:41.578Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561578
|
|
||||||
2026-02-18T16:02:41.578Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.578Z [DEBUG] Temp file written successfully, size: 282 bytes
|
|
||||||
2026-02-18T16:02:41.578Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.578Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561578 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.578Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.579Z [DEBUG] [STARTUP] Commands and agents loaded in 8ms
|
|
||||||
2026-02-18T16:02:41.587Z [DEBUG] [STARTUP] Running showSetupScreens()...
|
|
||||||
2026-02-18T16:02:41.597Z [DEBUG] [keybindings] KeybindingSetup initialized with 102 bindings, 0 warnings
|
|
||||||
2026-02-18T16:02:41.648Z [DEBUG] [keybindings] Skipping file watcher - user customization disabled
|
|
||||||
2026-02-18T16:02:41.664Z [DEBUG] [Claude in Chrome] Extension not found in any browser
|
|
||||||
2026-02-18T16:02:41.665Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561665
|
|
||||||
2026-02-18T16:02:41.665Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.665Z [DEBUG] Temp file written successfully, size: 325 bytes
|
|
||||||
2026-02-18T16:02:41.665Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.665Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561665 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.665Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.667Z [DEBUG] Git remote URL: http://192.168.8.143:3000/admin/portfolio/
|
|
||||||
2026-02-18T16:02:41.667Z [DEBUG] Could not parse repository from: http://192.168.8.143:3000/admin/portfolio/
|
|
||||||
2026-02-18T16:02:41.667Z [DEBUG] Parsed repository: null from URL: http://192.168.8.143:3000/admin/portfolio/
|
|
||||||
2026-02-18T16:02:41.702Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561702
|
|
||||||
2026-02-18T16:02:41.702Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.702Z [DEBUG] Temp file written successfully, size: 366 bytes
|
|
||||||
2026-02-18T16:02:41.702Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.702Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561702 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.702Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.784Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561784
|
|
||||||
2026-02-18T16:02:41.784Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.784Z [DEBUG] Temp file written successfully, size: 438 bytes
|
|
||||||
2026-02-18T16:02:41.784Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.784Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561784 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.785Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.785Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561785
|
|
||||||
2026-02-18T16:02:41.785Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.785Z [DEBUG] Temp file written successfully, size: 466 bytes
|
|
||||||
2026-02-18T16:02:41.785Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.785Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561785 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.785Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.786Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561786
|
|
||||||
2026-02-18T16:02:41.786Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.787Z [DEBUG] Temp file written successfully, size: 497 bytes
|
|
||||||
2026-02-18T16:02:41.787Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.787Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561786 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.787Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.787Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561787
|
|
||||||
2026-02-18T16:02:41.787Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.787Z [DEBUG] Temp file written successfully, size: 549 bytes
|
|
||||||
2026-02-18T16:02:41.787Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.788Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561787 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.788Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.788Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561788
|
|
||||||
2026-02-18T16:02:41.788Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.788Z [DEBUG] Temp file written successfully, size: 689 bytes
|
|
||||||
2026-02-18T16:02:41.788Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.789Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561788 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.790Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.790Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561790
|
|
||||||
2026-02-18T16:02:41.790Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.790Z [DEBUG] Temp file written successfully, size: 728 bytes
|
|
||||||
2026-02-18T16:02:41.790Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.790Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561790 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.791Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.791Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561791
|
|
||||||
2026-02-18T16:02:41.791Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.792Z [DEBUG] Temp file written successfully, size: 767 bytes
|
|
||||||
2026-02-18T16:02:41.792Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.792Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561791 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.792Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.792Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561792
|
|
||||||
2026-02-18T16:02:41.792Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.792Z [DEBUG] Temp file written successfully, size: 805 bytes
|
|
||||||
2026-02-18T16:02:41.792Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.792Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561792 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.793Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.793Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561793
|
|
||||||
2026-02-18T16:02:41.794Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.794Z [DEBUG] Temp file written successfully, size: 837 bytes
|
|
||||||
2026-02-18T16:02:41.794Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.794Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561793 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.794Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.794Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561794
|
|
||||||
2026-02-18T16:02:41.794Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.794Z [DEBUG] Temp file written successfully, size: 867 bytes
|
|
||||||
2026-02-18T16:02:41.794Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.794Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561794 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.795Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.795Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561795
|
|
||||||
2026-02-18T16:02:41.795Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.795Z [DEBUG] Temp file written successfully, size: 900 bytes
|
|
||||||
2026-02-18T16:02:41.795Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.795Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561795 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.795Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.796Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561796
|
|
||||||
2026-02-18T16:02:41.796Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.796Z [DEBUG] Temp file written successfully, size: 952 bytes
|
|
||||||
2026-02-18T16:02:41.796Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.796Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561796 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.796Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.797Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561797
|
|
||||||
2026-02-18T16:02:41.797Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.797Z [DEBUG] Temp file written successfully, size: 988 bytes
|
|
||||||
2026-02-18T16:02:41.797Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.797Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561797 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.797Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.798Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561798
|
|
||||||
2026-02-18T16:02:41.798Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.798Z [DEBUG] Temp file written successfully, size: 1018 bytes
|
|
||||||
2026-02-18T16:02:41.798Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.798Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561798 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.798Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.799Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430561799
|
|
||||||
2026-02-18T16:02:41.799Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:41.799Z [DEBUG] Temp file written successfully, size: 1054 bytes
|
|
||||||
2026-02-18T16:02:41.799Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:41.799Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430561799 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:41.799Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:41.925Z [DEBUG] High write ratio: blit=928, write=1833 (66.4% writes), screen=36x252
|
|
||||||
2026-02-18T16:02:51.731Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430571731
|
|
||||||
2026-02-18T16:02:51.731Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:51.731Z [DEBUG] Temp file written successfully, size: 1054 bytes
|
|
||||||
2026-02-18T16:02:51.731Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:51.731Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430571731 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:51.731Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
2026-02-18T16:02:51.732Z [DEBUG] Writing to temp file: ~/.claude/projects/.claude.json.tmp.254432.1771430571732
|
|
||||||
2026-02-18T16:02:51.732Z [DEBUG] Preserving file permissions: 100600
|
|
||||||
2026-02-18T16:02:51.732Z [DEBUG] Temp file written successfully, size: 1054 bytes
|
|
||||||
2026-02-18T16:02:51.732Z [DEBUG] Applied original permissions to temp file
|
|
||||||
2026-02-18T16:02:51.732Z [DEBUG] Renaming ~/.claude/projects/.claude.json.tmp.254432.1771430571732 to ~/.claude/projects/.claude.json
|
|
||||||
2026-02-18T16:02:51.732Z [DEBUG] File ~/.claude/projects/.claude.json written atomically
|
|
||||||
Reference in New Issue
Block a user